相关:在Tomcat9上更新到JSF2.3(Mojarra)时出现空字符串与空字符串的问题

相关:在Tomcat9上更新到JSF2.3(Mojarra)时出现空字符串与空字符串的问题,jsf,el,tomcat9,Jsf,El,Tomcat9,应用程序似乎一开始就很好,但我现在被应用于查看参数的空字符串所困扰。javax.faces.exploration_EMPTY_STRING_SUBMITTED_VALUES_AS_NULL参数在my web.xml中已设置为true 以下是我为升级所做的: 更新JSF工件:从javax.faces:javax.faces api:2.2和org.glassfish:javax.faces:2.2.15到javax.faces:javax.faces api:2.3和org.glassfish:

应用程序似乎一开始就很好,但我现在被应用于查看参数的空字符串所困扰。javax.faces.exploration_EMPTY_STRING_SUBMITTED_VALUES_AS_NULL参数在my web.xml中已设置为true

以下是我为升级所做的:

更新JSF工件:从javax.faces:javax.faces api:2.2和org.glassfish:javax.faces:2.2.15到javax.faces:javax.faces api:2.3和org.glassfish:javax.faces:2.3.8。 更新了faces-config.xml中的命名空间。 更新了beans.xml中的命名空间以启用2.0。 将web.xml更新为servlet 4.0。 在web.xml中添加了javax.faces.ENABLE_CDI_RESOLVER_CHAIN和javax.faces.ENABLE_WEBSOCKET_端点。 我甚至添加了一个JSF2.3Activator类,尽管它似乎是多余的。 OmniFaces从2.6.9更新为3.2。 编辑:原来这与

但正如标题中所述,我正试图在Tomcat9.0.12上迁移到JSF2.3。前面的问题和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)
在web.xml中,包括:

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

那你的EL版本呢?我没碰过,因为它不是我的Gradle构建文件的一部分。EL不是Tomcat捆绑的吗?是的,但是如果你在自己的项目中包含了一些东西,它可能会起到一定的作用。相关???我通过在一个搜索引擎中发布tomcat 9 javax.faces.exploration_EMPTY_STRING_SUBMITTED_VALUES_AS_NULL site:stackoverflow.com发现了这一点,这个搜索引擎看起来非常相关。我的第一反应是,我已经在使用Tomcat8.5了,这不是一个问题,但我会马上检查。