Java JSPG0122E:无法分析Websphere 8中的EL函数

Java JSPG0122E:无法分析Websphere 8中的EL函数,java,jstl,el,websphere-6.1,websphere-8,Java,Jstl,El,Websphere 6.1,Websphere 8,我正在将web应用程序从Websphere 6.1移动到Websphere 8,在我的JSP页面中遇到以下错误: com.ibm.ws.jsp.translator.JspTranslationException:JSPG0227E:翻译/jsp/myJsp.jsp:/jsp/myJsp.jsp(863,4)->JSPG0122E:无法解析EL函数${not empty rowVo.operation.package}。在com.ibm.ws.jsp.translator.visitor.val

我正在将web应用程序从Websphere 6.1移动到Websphere 8,在我的
JSP
页面中遇到以下错误:

com.ibm.ws.jsp.translator.JspTranslationException:JSPG0227E:翻译/jsp/myJsp.jsp:/jsp/myJsp.jsp(863,4)->JSPG0122E:无法解析EL函数${not empty rowVo.operation.package}。在com.ibm.ws.jsp.translator.visitor.validator.ELValidator.validateElFunction(ELValidator.java:500)在com.ibm.ws.jsp.translator.visitor.validator.ELValidator.validator.validateELExpression(ELValidator.java:122)在com.ibm.ws.jsp.translator.visitor.validator.elvalidaliteexpression(ELValidator.java:149)上com.ibm.ws.jsp.translator.visitor.ValidateVisitor.ValidateVisitor.ValidateVisitor.java:1757)com.ibm.ws.jsp.translator.visitor.ValidateVisitor.ValidateVisitor.ValidateVisitor.ValidateVisitor.java:1405com.ibm.ws.jsp.translator.visitor.JspVisitor.processJspElement(JspVisitor.java:366)上的ValidateVisitor.java:294,com.ibm.ws.jsp.translator.visitor.JspVisitor.processChildren(JspVisitor.java:419)上的com.ibm.ws.jsp.translator.visitor.JspVisitor.processJspElement(JspVisitor.java:369)com.ibm.ws.jsp.translator.visitor.JspVisitor.processChildren(JspVisitor.java:419)com.ibm.ws.jsp.translator.visitor.JspVisitor.processJspElement(JspVisitor.java:369)com.ibm.ws.jsp.translator.visitor.JspVisitor.processChildren(JspVisitor.java:419)com.ibm.ws.jsp.translator.JspVisitor.processJspElement(JspVisitor.java:234)com.ibm.ws.jsp.translator.visitor.JspVisitor.visit(JspVisitor.java:216)com.ibm.ws.jsp.translator.JspTranslator.processvisitor(JspTranslator.java:127)com.ibm.ws.jsp.translator.utils.JspTranslatorUtil.translateJsp(JspTranslatorUtil.java:254)在com.ibm.ws.jsp.translator.utils.JspTranslatorUtil.translateJspAndCompile上(JspTranslatorUtil.java:121)

JSP
文件中有问题的部分如下所示:

<c:forEach var="rowVo"
  items="${searchResultContainer.searchResultRowsPage}"
  varStatus="opStatus">
    <c:if test="${not empty rowVo.operation.jobscopeDescription}">
        <td>${rowVo.operation.jobscopeDescription}</td>
    </c:if>
    <c:if test="${not empty rowVo.operation.package}">
        <td>${rowVo.operation.package}</td>
    </c:if>
</c:forEach>

这些文件在迁移期间没有更改,在WAS 6.1上运行良好。有人知道这里出了什么问题吗?

这个错误似乎是由于Websphere 8无法解析包含
属性或变量的
EL
表达式。例如,将上面的更改为

<c:if test="${not empty rowVo.operation.getPackage()}">

产生与上述相同的错误。

负责检查保留关键字作为EL变量标识符的使用的代码在WebSphere Application Server v8.0及更高版本中得到了增强,使检查更加严格。变量检查代码不仅检查保留EL关键字,还检查Java保留关键字


有关更多信息,请参阅本文:

啊,太好了。我正在寻找类似的内容来解释它,但找不到任何内容。谢谢!很好!+1。在IBM产品中很难找到类似的内容。
<c:if test="${not empty rowVo.operation.getPackage()}">
<c:set var="salary" scope="session" value="${2000*2}"/>
<c:out value="Salary: ${salary}"/>
<c:set var="package" scope="session" value="${2000*2}"/>
<c:out value="Salary: ${package}"/>