我怎样才能调用使用EL(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(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一个Servlet 3.0兼容兼容容器(Tomcat的7,Glassfish的3等) web.xml
声明,那么它只会工作,你想要的方式。 如果你然而针对较旧版本的servlet容器,或有一个旧的版本,甚至是错误web.xml
根声明,那么它将无法工作。
更新:您的特定问题可能出在Tomcat中7.没有找到基于给定的参数正确的重载方法的错误引起的。 你表达工作正常的Glassfish 3.所有非重载的方法应该工作在Tomcat中就好了。
我无法得到它的工作是(的Apache Tomcat / 7.0.27)。
javax.el.ELException:无法将类型类java.lang.String h的为int
萨尔瓦多拒绝看到正确签名的方法。 同样的事情发生的的indexOf( “H”,0)。 我也有成功
${x.contains("h")}
${x.lastIndexOf("h")}
${x.indexOf(104)} Ascii value of 'h' is 104