Jsp 在运行“前,如何检查EL varaible的类型?”;indexOf";反对它的功能?

Jsp 在运行“前,如何检查EL varaible的类型?”;indexOf";反对它的功能?,jsp,el,indexof,Jsp,El,Indexof,如何检查EL变量的类型?我想在变量上运行indexOf方法,如下所示: <c:forEach items="${requestScope}" var="par"> <c:if test="${par.key.indexOf("_") != 0}"> .. </c:forEach> 编写上述JSP代码段的更准确方法是什么?您需要通过toString()将对象转换为字符串 .. 15:51:55,662 ERR

如何检查EL变量的类型?我想在变量上运行
indexOf
方法,如下所示:

    <c:forEach items="${requestScope}" var="par">
        <c:if test="${par.key.indexOf("_") != 0}">
        ..
    </c:forEach>

编写上述JSP代码段的更准确方法是什么?

您需要通过
toString()
将对象转换为字符串


..
15:51:55,662 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/ebook].[ebookDispatcher]] (ajp-/127.0.0.1:8009-5) Servlet.service() for servlet ebookDispatcher threw exception: javax.el.ELException: Cannot convert _ of type class java.lang.String to int
    at org.apache.el.lang.ELSupport.coerceToNumber(ELSupport.java:312) [jbossweb-7.0.17.Final.jar:]
    at org.apache.el.lang.ELSupport.coerceToNumber(ELSupport.java:283) [jbossweb-7.0.17.Final.jar:]
    at org.apache.el.lang.ELSupport.coerceToType(ELSupport.java:396) [jbossweb-7.0.17.Final.jar:]
    at org.apache.el.ExpressionFactoryImpl.coerceToType(ExpressionFactoryImpl.java:47) [jbossweb-7.0.17.Final.jar:]
    at javax.el.BeanELResolver.invokeMethod(BeanELResolver.java:729) [jboss-el-api_2.2_spec-1.0.2.Final.jar:1.0.2.Final]
    at javax.el.BeanELResolver.invoke(BeanELResolver.java:467) [jboss-el-api_2.2_spec-1.0.2.Final.jar:1.0.2.Final]
    at javax.el.CompositeELResolver.invoke(CompositeELResolver.java:246) [jboss-el-api_2.2_spec-1.0.2.Final.jar:1.0.2.Final]
    at org.apache.el.parser.AstValue.getValue(AstValue.java:159) [jbossweb-7.0.17.Final.jar:]
    at org.apache.el.parser.AstNotEqual.getValue(AstNotEqual.java:38) [jbossweb-7.0.17.Final.jar:]
    at org.apache.el.parser.AstAnd.getValue(AstAnd.java:43) [jbossweb-7.0.17.Final.jar:]
    at org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:189) [jbossweb-7.0.17.Final.jar:]
<c:forEach items="${requestScope.keySet()}" var="key">
    <c:if test='${key.toString().indexOf("_") != 0}'>
    ..
</c:forEach>