我正在尝试使用 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
在提交按钮中。有人知道解决这个问题的正确语法吗?
最佳答案
要在提交按钮中使用 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>
关于html - Struts 2 插件 <s :submit> render html expression in label,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30879317/