html - Struts 2 插件 <s :submit> render html expression in label

标签 html jsp struts2 submit-button

我正在尝试使用 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="&lt;u&gt;O&lt;/u&gt;K" type="submit">
    &lt;u&gt;O&lt;/u&gt;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/

相关文章:

java - 在 JSP 中使用 MySQL 连接到 Tomcat 服务器

java - JSP如何获取JSP中文件的完全限定名称

java - 如何将JSP的结果存储在字符串中?

java - Struts 2 和一个简单的 Facebook API

java - 如何在 Struts 2 表单页面上添加 CSS

html - 如何在导航栏中将文本元素向右浮动,将 png 元素向左浮动

javascript - CSS、PHP : Image on top of image, 不同

javascript - 如何让用户仅使用背景图像在 x 轴上的 Canvas 上画一条线?

javascript - 为什么回调函数要多显示一行?

java - 在Struts 2中引用fileUpload拦截器时出现404错误