Java 中的JSF2.0空白输入字段未设置为空

Java 中的JSF2.0空白输入字段未设置为空,java,jsf,jsf-2,Java,Jsf,Jsf 2,我有一个支持bean,其中fileld是长的、双精度的、整数的、字符串的 当我没有在输入字段中指定任何内容时,它将长取零,整数和Double而不是null。我正在使用tomcat部署我的应用程序。有什么解决办法吗?我尝试了以下上下文参数,但它不起作用 <context-param> <param-name>javax.faces.INTERPRET_EMPTY_STRING_SUBMITTED_VALUES_AS_NULL</param-name>

我有一个支持bean,其中fileld是长的、双精度的、整数的、字符串的 当我没有在输入字段中指定任何内容时,它将长取零,整数和Double而不是null。我正在使用tomcat部署我的应用程序。有什么解决办法吗?我尝试了以下上下文参数,但它不起作用

<context-param>
    <param-name>javax.faces.INTERPRET_EMPTY_STRING_SUBMITTED_VALUES_AS_NULL</param-name>
    <param-value>true</param-value>
</context-param>

javax.faces.explait_EMPTY_STRING_SUBMITTED_VALUES_为_NULL
真的

将以下VM参数添加到Tomcat启动选项中

-Dorg.apache.el.parser.COERCE_TO_ZERO=false
否则,JSF 2.0特定的设置/功能将不会被激活。

注意:如果元素放置在
中,则上述设置/功能不起作用,但如果替换为

,则上述设置/功能起作用。谢谢回复。我们使用的是Tomcat7.0.x,正如您所说,faces-config.xml指向jsf2.0。此外,我们还在web.xml中添加了context param,但它仍然不起作用。尝试向Tomcat启动选项添加
-Dorg.apache.el.parser.compresse_TO_ZERO=false
。我已经在windows上运行了Tomcat7的压缩版本告诉我必须在哪里添加这行代码。谢谢我们还有一些类似“System.getProperties().put”的代码(“org.apache.el.parser.convere_TO_ZERO”,“false”);”但这也不起作用。如果您通过
catalina.bat运行它,那么您可以在那里编辑它。如果您通过Eclipse之类的IDE运行它,您可以在服务器设置中编辑它。
<?xml version="1.0" encoding="UTF-8"?>
<faces-config
    xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_2_0.xsd"
    version="2.0">
    <!-- Your config here -->
</faces-config>