[
https://issues.apache.org/jira/browse/WW-4153?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13723749#comment-13723749
]
Bruce Phillips commented on WW-4153:
------------------------------------
Note that if you include the id attribute in the select tag (as the original
reporter did) you will get this Exception:
2013-07-30 06:36:25,986 ERROR freemarker.runtime.error:96 - Template processing
error: "Expression parameters.name is undefined on line 122, column 85 in
template/simple/select.ftl."
Expression parameters.name is undefined on line 122, column 85 in
template/simple/select.ftl.
The problematic instruction:
----------
==> ${parameters.name?html} [on line 122, column 83 in
template/simple/select.ftl]
in include "/${parameters.templateDir}/simple/select.ftl" [on line 24, column
1 in template/xhtml/select.ftl]
----------
Java backtrace for programmers:
----------
freemarker.core.InvalidReferenceException: Expression parameters.name is
undefined on line 122, column 85 in template/simple/select.ftl.
at freemarker.core.TemplateObject.assertNonNull(TemplateObject.java:125)
at freemarker.core.Expression.getStringValue(Expression.java:118)
at freemarker.core.Expression.getStringValue(Expression.java:93)
at
freemarker.core.StringBuiltins$StringBuiltIn._getAsTemplateModel(StringBuiltins.java:71)
at freemarker.core.Expression.getAsTemplateModel(Expression.java:89)
at freemarker.core.Expression.getStringValue(Expression.java:93)
at freemarker.core.DollarVariable.accept(DollarVariable.java:76)
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.ConditionalBlock.accept(ConditionalBlock.java:79)
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.include(Environment.java:1508)
at freemarker.core.Include.accept(Include.java:169)
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:259)
at
org.apache.struts2.components.template.FreemarkerTemplateEngine.renderTemplate(FreemarkerTemplateEngine.java:157)
at org.apache.struts2.components.UIBean.mergeTemplate(UIBean.java:572)
at org.apache.struts2.components.UIBean.end(UIBean.java:526)
at
org.apache.struts2.views.jsp.ComponentTagSupport.doEndTag(ComponentTagSupport.java:42)
at
org.apache.jsp.register_jsp._jspx_meth_s_005fselect_005f0(register_jsp.java:269)
at
org.apache.jsp.register_jsp._jspx_meth_s_005fform_005f0(register_jsp.java:143)
at org.apache.jsp.register_jsp._jspService(register_jsp.java:87)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
at
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:433)
at
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:389)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:333)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:96)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
at
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:405)
at
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:964)
at
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:515)
at
org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:304)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
at java.lang.Thread.run(Thread.java:680)
> Struts2 s:select broken if multiple attribute is used and name attribute is
> not specified
> -----------------------------------------------------------------------------------------
>
> Key: WW-4153
> URL: https://issues.apache.org/jira/browse/WW-4153
> Project: Struts 2
> Issue Type: Bug
> Affects Versions: 2.3.15.1
> Environment: JBoss AS7+ Spring on Ubuntu
> Reporter: nick
> Assignee: Bruce Phillips
> Fix For: 2.3.16
>
> Attachments: form_processing.zip
>
>
> I'm facing a problem when i don't specify *name* attribute in struts *select*
> tag, where the same tag was working fine in earlier release (2.3.4 *) . My
> select tag is as follows
> {code:html}
> <s:select headerKey="" headerValue="%{getText('sel.dept')}" id="departments"
> list="dropdownData.departments"
> listValue="deptName" listKey="id" theme="simple" tabindex="1"
> multiple="true" size="5" cssStyle="min-width:130px"/>
> {code}
> The exception is as follows and it got disappeared when i add *name* attribute
> {noformat}
> ERROR [freemarker.runtime] (http-localhost/127.0.0.1:8080-3) Template
> processing error: "Expression parameters.name is undefined on line 122,
> column 85 in template/simple/select.ftl.":
> freemarker.core.InvalidReferenceException: Expression parameters.name is
> undefined on line 122, column 85 in template/simple/select.ftl.
> at
> freemarker.core.TemplateObject.assertNonNull(TemplateObject.java:125)
> [freemarker-2.3.19.jar:2.3.19]
> at freemarker.core.Expression.getStringValue(Expression.java:118)
> [freemarker-2.3.19.jar:2.3.19]
> at freemarker.core.Expression.getStringValue(Expression.java:93)
> [freemarker-2.3.19.jar:2.3.19]
> at
> freemarker.core.StringBuiltins$StringBuiltIn._getAsTemplateModel(StringBuiltins.java:71)
> [freemarker-2.3.19.jar:2.3.19]
> at freemarker.core.Expression.getAsTemplateModel(Expression.java:89)
> [freemarker-2.3.19.jar:2.3.19]
> at freemarker.core.Expression.getStringValue(Expression.java:93)
> [freemarker-2.3.19.jar:2.3.19]
> at freemarker.core.DollarVariable.accept(DollarVariable.java:76)
> [freemarker-2.3.19.jar:2.3.19]
> at freemarker.core.Environment.visit(Environment.java:221)
> [freemarker-2.3.19.jar:2.3.19]
> at freemarker.core.MixedContent.accept(MixedContent.java:92)
> [freemarker-2.3.19.jar:2.3.19]
> at freemarker.core.Environment.visit(Environment.java:221)
> [freemarker-2.3.19.jar:2.3.19]
> at freemarker.core.ConditionalBlock.accept(ConditionalBlock.java:79)
> [freemarker-2.3.19.jar:2.3.19]
> at freemarker.core.Environment.visit(Environment.java:221)
> [freemarker-2.3.19.jar:2.3.19]
> at freemarker.core.MixedContent.accept(MixedContent.java:92)
> [freemarker-2.3.19.jar:2.3.19]
> at freemarker.core.Environment.visit(Environment.java:221)
> [freemarker-2.3.19.jar:2.3.19]
> at freemarker.core.Environment.process(Environment.java:199)
> [freemarker-2.3.19.jar:2.3.19]
> at freemarker.template.Template.process(Template.java:259)
> [freemarker-2.3.19.jar:2.3.19]
> at
> org.apache.struts2.components.template.FreemarkerTemplateEngine.renderTemplate(FreemarkerTemplateEngine.java:157)
> [struts2-core-2.3.15.jar:2.3.15]
> at org.apache.struts2.components.UIBean.mergeTemplate(UIBean.java:572)
> [struts2-core-2.3.15.jar:2.3.15]
> at org.apache.struts2.components.UIBean.end(UIBean.java:526)
> [struts2-core-2.3.15.jar:2.3.15]
> at
> org.apache.struts2.views.jsp.ComponentTagSupport.doEndTag(ComponentTagSupport.java:42)
> [struts2-core-2.3.15.jar:2.3.15]
> at
> org.apache.jsp.WEB_002dINF.jsp.dms.notificationGroup_jsp._jspx_meth_s_005fselect_005f0(notificationGroup_jsp.java:1171)
> at
> org.apache.jsp.WEB_002dINF.jsp.dms.notificationGroup_jsp._jspx_meth_s_005fpush_005f0(notificationGroup_jsp.java:438)
> at
> org.apache.jsp.WEB_002dINF.jsp.dms.notificationGroup_jsp._jspx_meth_s_005fform_005f0(notificationGroup_jsp.java:294)
> at
> org.apache.jsp.WEB_002dINF.jsp.dms.notificationGroup_jsp._jspService(notificationGroup_jsp.java:157)
> at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:69)
> [jbossweb-7.2
> {noformat}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira