我有一个输入数字,我必须用34,34两个十进制数字替换vlaue,所以我的代码是:
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ page isELIgnored="false"%>
<input type="number" min="0" name="price" pattern="0.00"
step=".01" required
value="<fmt:formatNumber type = "number"
pattern="0.00" value = "${home.price}" />"
问题是输入是空的,没有加载值,因为如果我做
<label><fmt:formatNumber type = "number"
pattern="0.00" value = "${home.price}</label>
号码是用正确的形式打印的。有人能帮我吗?
使用fmt:formatNumber
上的var
属性来存储结果并在输入中使用它,并确保您使用的区域设置提供了浏览器可以使用的数字:
<fmt:setLocale value="en"/>
<fmt:formatNumber type="number"
pattern="0.00" value="${home.price}"
var="myNum"/>
<input type="number" min="0" name="price" pattern="0.00"
step=".01" required
value="${myNum}"/>
特别是语言环境让这变得很难看,所以我真的建议大家看看jsf。
另请参阅:
- 输入类型号的本地化(JSP(
- 独立于语言的JSP自定义模式的JSTL formatNumber
- 在JSF中格式化double