jsp - 表达式语言中的调用方法

标签 jsp tomcat el

如何使用 EL ( Expression Language ) 在 JSP 中调用方法?

例如:

<c:forEach var="item" items="${listStr}" begin="0" end="2" step="2">
    <p>${item.indexOf("h")}</p>
</c:forEach>

这里,item 是一个 java.lang.String 类型的对象。这会导致在 Tomcat 上运行时出错。

最佳答案

这仅在 EL 2.2 之后才受支持。这反过来与 Servlet 3.0 齐头并进。因此,如果您确保使用与 Servlet 3.0 兼容的 web.xml 声明来定位与 Servlet 3.0 兼容的容器(Tomcat 7、Glassfish 3 等),那么它将按照您的预期方式工作。但是,如果您的目标是旧版本的 servlet 容器,或者有旧版本甚至错误的 web.xml 根声明,那么它将无法工作。

另见:


更新:您的特定问题可能是由 Tomcat 7 中的错误引起的。它没有根据给定的参数找到正确的重载方法。您的表达式在 Glassfish 3 中运行良好。所有非重载方法在 Tomcat 中都应该运行良好。

关于jsp - 表达式语言中的调用方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11273626/

相关文章:

java - Webapp 在实例化 PoolingHttpClientConnectionManager 时停止

security - JavaEE - 声明式安全 - 表单登录系统

mongodb - 如何在 Nifi getMongo 查询字段中获取 ISO 字符串

ssl - 如何解析本地主机 :8443 to alias URL like "https://mydev.example" in my local Tomcat

java - JSTL 访问 HashMap 中的整数/长键

java - 如何在javascript数组中设置jsp变量?

java - Tomcat下war文件中的index.jsp

jsp - EL 语法错误是 en

java - 使用 displaytag 和 Struts 1.3 的 JSP 表格中的按钮列

java - 不支持请求方法 'HEAD'