我将 netbean 6.9.1 与 apache tomcat 6 一起使用。在我的 jsf 页面中,我想要带参数的调用方法,目前,我使用默认为 EL 的 tomcat 6。
我从下载了 EL 2.2 http://download.java.net/maven/glassfish/javax/el/el-api/2.2.0-SNAPSHOT/el-api-2.2.0-SNAPSHOT.jar
我将这些文件重命名为 el-api-2.2.0.jar 和 el-impl-2.2.0.jar,然后复制到 tomcat 库 (C:\Program Files\Apache Software Foundation\Apache Tomcat 6.0.26\lib)
在 web.xml 中,我添加了这个
<context-param>
<param-name>com.sun.faces.expressionFactory</param-name>
<param-value>com.sun.el.ExpressionFactoryImpl</param-value>
</context-param>
KategoriManager.java(用于测试)
public String editSetup(Integer id) {
return "kategori_edit";
}
和Edit.jsp
---cut---
<h:commandLink value="Edit" action="#{kategoriManager.editSetup(1)}"/>
---cut---
但在 IDE netbean 中,我仍然收到工具提示错误,如 “函数必须使用前缀”
我运行这个网站,但我得到了错误
HTTP Status 500 -
type Status report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
Apache Tomcat/6.0.26
如何在 Tomcat 6 上启用 EL 2.2?请帮助..
谢谢
最佳答案
JAR 应该放在 webapp 的 /WEB-INF/lib
,而不是服务器的 /lib
。您还应该绝对确保在 /WEB-INF/lib
中没有 EL API JAR 的另一个副本。大多数初学者因为一些不明显的原因而放弃,例如 /WEB-INF/lib
中的 javaee.jar
以“修复”编译错误。
另一种方法是使用 JBoss EL。另见 Invoke direct methods or methods with arguments / variables / parameters in EL获取说明。
关于java - 对于 JSF 2.0,如何在 Tomcat 6 上启用 EL 2.2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10214646/