Плагин Struts 2 ‹s: submit› отобразить html-выражение в ярлыке

Я пытаюсь отобразить кнопку отправки с помощью тегов модификатора 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 в кнопке отправки. Кто-нибудь знает правильный синтаксис для решения этой проблемы?


person Claudio Pires    schedule 16.06.2015    source источник
comment
Никто этого не знает. В чем проблема?   -  person Roman C    schedule 17.06.2015


Ответы (1)


Чтобы использовать 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>
person Andrea Ligios    schedule 17.06.2015