我尝试使用HTML修饰符标记呈现提交按钮
ApplicationResources.properties文件中的
label.ok=<u>O</u>K
然后我的JSP代码是
<s:form class="form-group " method="POST" id="profileform" theme="bootstrap" cssClass="form-horizontal" action="go.asociate.addactivities.action">
......
<div class="row">
<div class="col-md-12 btn-toolbar">
<button type="button" class="btn btn-default pull-right custombtn" accesskey="c" onclick="javascript:location.href='go.home.action';">
<s:text name="label.cancel"></s:text>
</button>
<s:submit class="btn btn-default pull-right custombtn" accesskey="o" key="label.ok"></s:submit>
</div>
</div>
</s:form
问题是它在提交按钮中呈现文字键名值<u>O</u>K
。有没有人知道解决这个问题的正确语法?
答案 0 :(得分:3)
要在提交按钮中使用HTML,它必须是"button"
类型,因为按钮有一个正文,而<input type="submit" />
不是
<s:submit type="button" value="%{getText('label.ok')}" />
但这还不够;它将被翻译为
<button value="<u>O</u>K" type="submit">
<u>O</u>K
</button>
因为内置逃逸。
在<s:property />
中,您可以通过设置escapeHtml="false"
来禁用它,<s:submit />
不提供此选项;
要解决此问题,只需在按钮正文中使用<s:text />
:
<s:submit type="button">
<s:text name="label.ok" />
</s:submit>
这很可能是唯一的方法,但它会起作用,并且会被转移到
<button value="Submit" type="submit">
<u>O</u>K
</button>