如何在<form:input>的属性中使用<spring:message>?</form:input> </spring:message>

时间:2011-03-11 14:12:13

标签: java spring jsp spring-mvc

我有类似的代码:

<div class="formRow">
    <form:input id="email_email" name="email_email" title="XXXXX"/>" path="email" cssClass="input required email" />
    <form:errors path="email" cssClass="error" />
</div>

我想将title属性设置为一些工具提示文本,支持i18n。我该怎么做?

我希望做这样的事情:

<div class="formRow">
    <form:input id="email_email" name="email_email" title="<spring:message code="tooltip.text" />"/>" path="email" cssClass="input required email" />
    <form:errors path="email" cssClass="error" />
</div>

3 个答案:

答案 0 :(得分:71)

<spring:message code="tooltip.text" var="variable1"/>
<form:input id="email_email" name="email_email" title="${variable1}" path="email" 
                      cssClass="input required email" />

您不能在属性中使用标记: 但你可以使用上面的。它工作正常。

答案 1 :(得分:23)

您不能简单地在标签内使用标签。你可以这样做,

<spring:message code="tooltip.text" var="i18nTooltip"/> 
<form:input id="email_email" name="email_email" title="${i18nTooltip}" path="email" 
                      cssClass="input required email" />

P.S。 更好地使用${i18nTooltip}代替i18nTooltip,以避免混淆。

答案 2 :(得分:0)

我认为这是最清洁的方法:

 <form:input id="email_email" name="email_email" title='<spring:message code="tooltip.text"/>' path="email" cssClass="input required email" />

寻找已更改的代码,我已删除标题属性的双qoutes到单个qoutes及其作品奇迹。