我对我的网络应用程序的这种奇怪行为感到抓狂。我不得不将它从 EJB3 更改为 Spring,现在我面临一个(至少对我而言)奇怪的错误。我有一些普通的 JSF 页面(Primefaces 3.4)并创建了一些过滤器。这一切都很好,但我所有的过滤BigInteger
值现在总是0
而不是null
. 结果是,我的 db-query 现在总是将0 - values
.. 添加到我的查询中。这不是我想要的。每一个建议都会非常感激。我已经添加了
<context-param>
<param-name>javax.faces.INTERPRET_EMPTY_STRING_SUBMITTED_VALUES_AS_NULL</param-name>
<param-value>true</param-value>
</context-param>
到我的WEB.xml,但这并没有改变任何东西......
编辑: 因此,解决方案是将 EL 从 Tomcat 7.0 更改为“标准”EL。这有点奇怪。我的 web.xml 现在看起来像这样:
<context-param>
<param-name>com.sun.faces.expressionFactory</param-name>
<param-value>com.sun.el.ExpressionFactoryImpl</param-value>
</context-param>
我的 pom 看起来像这样:
<dependency>
<groupId>javax.el</groupId>
<artifactId>el-api</artifactId>
<version>2.2</version>
</dependency>
<dependency>
<groupId>org.glassfish.web</groupId>
<artifactId>el-impl</artifactId>
<version>2.2</version>
</dependency>
哇...现在它可以工作了..仍然很困惑...