1

我在我的 jsf 页面中使用 netbean 6.9.1 和 apache tomcat 6.in 我想要带参数的调用方法,对于当前,我使用带有 EL 默认值的 tomcat 6。

我从http://download.java.net/maven/glassfish/javax/el/el-api/2.2.0-SNAPSHOT/el-api-2.2.0-SNAPSHOT.jar下载了 EL 2.2

http://download.java.net/maven/glassfish/org/glassfish/web/el-impl/2.2.0-SNAPSHOT/el-impl-2.2.0-SNAPSHOT.jar

我将这些文件重命名为 el-api-2.2.0.jar 和 el-impl-2.2.0.jar,然后我复制到 tomcat lib (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?请帮忙..

谢谢

4

1 回答 1

0

JAR 应该放在 webapp 中/WEB-INF/lib,而不是 server 中/lib。您还应该绝对确保您没有 EL API JAR 的另一个副本/WEB-INF/libjavaee.jar大多数初学者出于某些不明显的原因而放弃,例如/WEB-INF/lib“修复”编译错误。

另一种方法是使用 JBoss EL。另请参阅在 EL 中调用直接方法或带有参数/变量/参数的方法以获取说明。

于 2012-04-18T17:30:14.390 回答