该应用程序似乎启动正常,但是现在我被空字符串应用于视图参数所困扰。我的web.xml中的javax.faces.INTERPRET_EMPTY_STRING_SUBMITTED_VALUES_AS_NULL
参数已经设置为true。
这就是我要做的升级:
编辑:原来这与Tomcat 8 (and 9) coerce behaviour, null strings are incorrectly set as empty strings
有关但是正如标题中所述,我正在尝试迁移到Tomcat 9上的 JSF 2.3 (9.0.12)。先前的问题和BalusC博客并未直接解决此问题。我还应该指出,此应用程序在JDK11上运行之前没有任何问题。
从上一个问题中,我了解到可以使用Oracles EL实现,但是我得到了:
java.lang.ArrayIndexOutOfBoundsException: arraycopy: last source index 16 out of bounds for byte[9]
at java.base/java.lang.System.arraycopy(Native Method)
at com.sun.faces.util.ByteArrayGuardAESCTR.decrypt(ByteArrayGuardAESCTR.java:157)
at com.sun.faces.context.flash.ELFlash$PreviousNextFlashInfoManager.decode(ELFlash.java:1414)
at com.sun.faces.context.flash.ELFlash.getCurrentFlashManager(ELFlash.java:1237)
at com.sun.faces.context.flash.ELFlash.doPrePhaseActions(ELFlash.java:641)
at com.sun.faces.lifecycle.Phase.handleBeforePhase(Phase.java:214)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:98)
at com.sun.faces.lifecycle.RestoreViewPhase.doPhase(RestoreViewPhase.java:133)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:201)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:670)
答案 0 :(得分:-1)
在您的 web.xml 中,包括:
<context-param>
<param-name>
javax.faces.INTERPRET_EMPTY_STRING_SUBMITTED_VALUES_AS_NULL
</param-name>
<param-value>
**false**
</param-value>
</context-param>