[英]JSF 2 - hiding default values on <? extends Number>
有没有办法隐藏我的数字属性的默认值? 我有一个int
字段,在我看来, <h:inputText />
字段显示为0.除此之外,如果我将此输入留空,我会得到一个NullPointerException
。
我可以隐藏默认值并将空输入视为默认值吗?
我在Tomcat 7
上使用mojarra 2.1.2
原始int
始终默认为0
。 您想要使用Integer
。 例如:
public class Entity {
private Integer value;
// ...
}
至于在提交空数据时保持null
,请将以下上下文参数添加到web.xml
:
<context-param>
<param-name>javax.faces.INTERPRET_EMPTY_STRING_SUBMITTED_VALUES_AS_NULL</param-name>
<param-value>true</param-value>
</context-param>
此外,如果您正在使用Tomcat或使用Apache EL解析器的克隆,请添加以下服务器启动VM参数,以防止它将Number
值视为基元:
-Dorg.apache.el.parser.COERCE_TO_ZERO=false
在Eclipse中,您可以在Open launch配置对话框的Arguments选项卡中将其设置为服务器配置(在Servers视图中双击服务器条目)。 在生产中,您可以将其添加到JAVA_OPTS
环境变量中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.