我正在使用hashset.toArray()[x]
在jsf视图中显示一个元素,这在我的机器上工作正常。
但是,当我将其移至测试服务器时,会抛出上述错误。
两台机器都运行tomcat 7.
导致此错误的原因是什么?
答案 0 :(得分:1)
在EL版本2.2中引入了在EL中调用任意非属性相关方法的能力,它与Servlet 3.0密切相关。 Servlet 2.5 / EL 2.1等旧版本中不存在此功能。
因此,如果您将Web应用程序部署到与Servlet 3.0兼容的web.xml
根声明的Servlet 3.0兼容容器中,那么它将正常工作。但是,如果您将webapp部署到旧版本的容器,或者使用web.xml
来指示旧版本,或者在webapp的/WEB-INF/lib
中删除了旧版本的任意特定于容器的JAR文件,或者甚至服务器自己的/lib
,那么此功能将无效。
如果你绝对肯定测试服务器正在运行Tomcat 7而不是Tomcat 6,那么这只能意味着web.xml
已被更改以指示旧版本,或者你的webapp或服务器的/lib
遍布任意特定于容器的JAR文件,例如jsp-api.jar
,el-api.jar
等,这些文件只会与容器自己的库冲突(这通常由无知的启动程序按顺序完成解决他们在IDE中遇到的编译错误;应该已经解决了differently)。