java - JSF 2 - 在 <? 上隐藏默认值扩展号码>

标签 java jsf-2 default-value

有没有办法隐藏我的数字属性的默认值?我有一个 int场,在我看来 <h:inputText />字段显示 0。除此之外,如果我将此输入留空,我会得到一个 NullPointerException。对此。

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

我正在使用 mojarra 2.1.2Tomcat 7

最佳答案

原语 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 configurationArguments 选项卡中的服务器配置中设置它(双击 Servers View 中的服务器条目) em>对话。在生产环境中,您可以将它添加到 JAVA_OPTS 环境变量中。

关于java - JSF 2 - 在 <? 上隐藏默认值扩展号码>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7206401/

相关文章:

jsf-2 - Prettyfaces 处理器生命周期

java - 如何在 JSF 2.0 中获取选项卡式 Pane 组件 (Sun Mojarra)

c# - 如何为 Action 设置默认参数值

java - Excel 模板从 JXLS 1 迁移到 JXLS 2

java - Thymeleaf 迭代对象列表

java - JSF 在托管 bean 中获取当前操作

MySQL Strict : doesn't have a default value, 添加默认值后仍然无法正常工作

php - 给变量一个默认值的最好方法(模拟 Perl ||, ||= )

java - java并发包是用锁实现的吗?

java - 如何优化 Held-Karp 算法的 java 实现以缩短运行时间?