After installing Struts 2.3.4, it appears that dynamic attributes must be
strings now?
I've modified text.ftl in my custom theme like this (diff output):
23c23
< <input type="${parameters.type?default("text")}"<#rt/>
---
> <input type="text"<#rt/>
46,54d45
< <#if parameters.required?default(false)>
< required="true"<#rt/>
< </#if>
< <#if parameters.autofocus?default(false)>
< autofocus="autofocus"<#rt/>
< </#if>
< <#if parameters.pattern?? >
< pattern="${parameters.pattern?html}"<#rt/>
< </#if>
62c53
< />
So that I can use dynamic attributes / HTML5 goodness like this:
<@s.text type="email" key="user.email" required=true autofocus=true />
But now Struts 2.3.4 blows up with this message:
Method public java.lang.String
org.apache.struts2.util.StrutsUtil.translateVariables(java.lang.String) threw
an exception when invoked on org.apache.struts2.util.StrutsUtil@540948a7
The problematic instruction:
----------
==> assignment: value=struts.translateVariables(keyValue)!keyValue [on line 27,
column 3 in /themes/simple/dynamic-attributes.ftl]
in include "/${parameters.templateDir}/simple/dynamic-attributes.ftl" [on line
52, column 1 in /themes/simple/text.ftl]
in include "/${parameters.templateDir}/simple/text.ftl" [on line 25, column 1
in /themes/my-custom-theme/text.ftl]
----------
I made sure to update my simple theme, perhaps I missed some template files?
Can anyone help?