【发布时间】:2012-09-29 17:22:39
【问题描述】:
我对我的 web 应用程序的这种奇怪行为感到抓狂。
我不得不将它从 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>
哇...现在它可以工作了..仍然很困惑...
【问题讨论】: