Stefan Gebhardt wrote:
Hi s2 users!
I like to render a html button element.
<s:submit type="button" title="new"
value="%{getText('common.themes.'+#attr.THEME+'.editing.new')}"
cssClass="${pageScope.divClass}" id="btn_new"/>
Most of the times <s:submit does not render the title attribute. what i get on
the page is
<button id="btn_new" class="localTooltipSensitiv create" value="New"
type="submit">New</button>
sometimes i get
<button id="btn_new" class="localTooltipSensitiv create" title="" value="New"
type="submit">New</button>
Both result are not correct. Is it a bug? Did i make a mistake? Can you give me
hint, please?
greets
stefan gebhardt
Congratulations, you've managed to hit three struts issues in one go:
1. OGNL is confusing
2. Struts2 doens't provide enough developer feedback
3. struts2 submit tag of type button doesn't support the title attribute
Explanation:
1. Like most attributes of Struts 2 tags, the title attribute is
evaluated as an OGNL expression. By coincidence, you've used the
reserved word 'new'.
I think the first issue may be that 'new' is an invalid expression
and/or causes conflicts. First, force it to a string to avoid that risk:
<s:submit type="button" title="%{'new'}" ...
2. You may not be getting any useful feedback about it (such as invalid
expression or invalid property) because you're not using a recent
version of Struts2. This is evident by this line:
cssClass="${pageScope.divClass}" id="btn_new"/>
which has not been supported since 2.0.10. I have tried it in Struts
2.1.1 though and it still evaluates title="new" to the literal string
"new" without any warnings.
3. The template for the submit tag is indeed missing the title
attribute. The tag supports it but not the template. You'll have to
create a custom template to enable it. Feel free to raise an issue in
JIRA if there isn't one already there for this.
Creating a custom template is straight-forward. Copy the submit.ftl
template out of the struts2-core jar and modify it as described here:
http://struts.apache.org/2.0.11.1/docs/extending-themes.html
You need to add 3 lines to the template which you'll see there already
for type=submit
Hope that helps,
Jeromy Evans
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]