JSF 2 – 隐藏

有没有办法隐藏我的数字属性的默认值? 我有一个int字段,在我看来, 字段显示为0.除此之外,如果我将此输入留空,我会得到一个NullPointerException

我可以隐藏默认值并将空输入视为默认值吗?

我在Tomcat 7上使用mojarra 2.1.2

原始int始终默认为0 。 您想要使用Integer 。 例如:

 public class Entity { private Integer value; // ... } 

至于在提交空数据时保持null ,请将以下上下文参数添加到web.xml

  javax.faces.INTERPRET_EMPTY_STRING_SUBMITTED_VALUES_AS_NULL true  

此外,如果您正在使用Tomcat或使用Apache EL解析器的克隆,请添加以下服务器启动VM参数,以防止它将Number值视为基元:

  -Dorg.apache.el.parser.COERCE_TO_ZERO = FALSE 

在Eclipse中,您可以在Open launch configuration对话框的Arguments选项卡中的服务器配置中设置它(在Servers视图中双击服务器条目)。 在生产中,您可以将其添加到JAVA_OPTS环境变量中。