Struts 2.3.1.1 OGNL crashes on WebSphere 7
------------------------------------------
Key: WW-3746
URL: https://issues.apache.org/jira/browse/WW-3746
Project: Struts 2
Issue Type: Bug
Affects Versions: 2.3.1.1
Reporter: Peter Hemmen
Using WebSphere Application Server 7.0.0.11 and upgrading from Struts 2.2.3.1
to 2.3.1.1 breaks the application.
When enforcing the ognl version to 3.0.1, the application works fine. We can't
figure out why using ognl 3.0.3 should break anything.
Error messages include:
Server-log:
Caused by: Error on line 31, column 9 in template/simple/radiomap.ftl
stack.findString(parameters.listValue) is undefined.
It cannot be assigned to itemValue - Class: freemarker.core.Assignment
File: Assignment.java
Method: accept
Line: 111 - freemarker/core/Assignment.java:111:-1
at org.apache.struts2.components.UIBean.end(UIBean.java:515)
at
org.apache.struts2.views.jsp.ComponentTagSupport.doEndTag(ComponentTagSupport.java:42)
Application log:
[2012-01-18 13:17:34,992, ERROR, , Log4JLoggerFactory.java:96] - Template
processing error: "Error on line 31, column 9 in
template/simple/radiomap.ftl\nstack.findString(parameters.listValue) is
undefined.\nIt cannot be assigned to itemValue"
Error on line 31, column 9 in template/simple/radiomap.ftl
stack.findString(parameters.listValue) is undefined.
It cannot be assigned to itemValue
The problematic instruction:
----------
==> assignment: itemValue=stack.findString(parameters.listValue) [on line 31,
column 9 in template/simple/radiomap.ftl]
in user-directive s.iterator [on line 23, column 1 in
template/simple/radiomap.ftl]
----------
Java backtrace for programmers:
----------
freemarker.core.InvalidReferenceException: Error on line 31, column 9 in
template/simple/radiomap.ftl
stack.findString(parameters.listValue) is undefined.
It cannot be assigned to itemValue
at freemarker.core.Assignment.accept(Assignment.java:111)
at freemarker.core.Environment.visit(Environment.java:221)
at freemarker.core.IfBlock.accept(IfBlock.java:82)
at freemarker.core.Environment.visit(Environment.java:221)
at freemarker.core.MixedContent.accept(MixedContent.java:92)
at freemarker.core.Environment.visit(Environment.java:221)
at freemarker.core.Environment.visit(Environment.java:310)
at freemarker.core.UnifiedCall.accept(UnifiedCall.java:130)
at freemarker.core.Environment.visit(Environment.java:221)
at freemarker.core.MixedContent.accept(MixedContent.java:92)
at freemarker.core.Environment.visit(Environment.java:221)
at freemarker.core.Environment.process(Environment.java:199)
at freemarker.template.Template.process(Template.java:237)
at
org.apache.struts2.components.template.FreemarkerTemplateEngine.renderTemplate(FreemarkerTemplateEngine.java:157)
at org.apache.struts2.components.UIBean.mergeTemplate(UIBean.java:559)
at org.apache.struts2.components.UIBean.end(UIBean.java:513)
at
org.apache.struts2.views.jsp.ComponentTagSupport.doEndTag(ComponentTagSupport.java:42)
at
com.ibm._jsp.<our_JSP_file>._jspx_meth_s_radio_0(<our_JSP_file>.java:637)
at com.ibm._jsp.<our_JSP_file>.access$52(<our_JSP_file>.java:608)
at
com.ibm._jsp.<our_JSP_file>$<our_JSP_file>Helper.invoke14(<our_JSP_file>.java:1852)
at
com.ibm._jsp.<our_JSP_file>$<our_JSP_file>Helper.invoke(<our_JSP_file>.java:2102)
We think this is the radio-tag in question:
<s:radio name="ourRadioName"
list="#{'true':'Ja', 'false':'Nei'}">
<s:param name="break" value="true" />
</s:radio>
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira