java - JSPG0122E: Unable to parse EL function in Websphere 8 -


i moving web application websphere 6.1 websphere 8, , encountering following error in 1 of jsp pages:

com.ibm.ws.jsp.translator.jsptranslationexception: jspg0227e: exception caught while translating /jsp/myjsp.jsp: /jsp/myjsp.jsp(863,4) --> jspg0122e: unable parse el function ${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.validateelexpression(elvalidator.java:122) @ com.ibm.ws.jsp.translator.visitor.validator.elvalidator.validateelexpression(elvalidator.java:149) @ com.ibm.ws.jsp.translator.visitor.validator.validatevisitor.validatecustomtagattribute(validatevisitor.java:1757) @ com.ibm.ws.jsp.translator.visitor.validator.validatevisitor.validatecustomtagattributevalues(validatevisitor.java:1405) @ com.ibm.ws.jsp.translator.visitor.validator.validatevisitor.visitcustomtagstart(validatevisitor.java:294) @ com.ibm.ws.jsp.translator.visitor.jspvisitor.processjspelement(jspvisitor.java:366) @ 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.visitor.jspvisitor.processjspelement(jspvisitor.java:234) @ com.ibm.ws.jsp.translator.visitor.jspvisitor.visit(jspvisitor.java:216) @ com.ibm.ws.jsp.translator.jsptranslator.processvisitors(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)

the offending section in jsp file looks this:

<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> 

what confusing me exception thrown third el expression, when second identical.

operation generated class:

public class operation {      //other properties omitted      @xmlelement(name = "package")     protected list<package> _package;     protected list<string> jobscopedescription;     public list<package> getpackage() {         if (_package == null) {             _package = new arraylist<package>();         }         return this._package;     }         public list<string> getjobscopedescription() {         if (jobscopedescription == null) {             jobscopedescription = new arraylist<string>();         }         return this.jobscopedescription;     } } 

these files have not changed during migration, , worked fine on 6.1. have clue wrong here?

the code responsible checking use of reserved keywords el variable identifiers enhanced in websphere application server v8.0 , beyond, making checking more strict. variable checking code not checks reserved el keywords, java reserved keywords.

see article more info: http://www-01.ibm.com/support/docview.wss?uid=swg21642419&myns=swgws&mynp=ocsseqtp&mync=a


Comments