如何将占位符放在struts2 textfield标记中?

时间:2012-06-22 11:07:20

标签: java html5 struts2 placeholder

我正在使用struts2标签,并希望将占位符放在<s:textfield>标记中,如下所示:

<s:set name="email" value="getText('email')" />
...

<s:form action="Login">
    <s:textfield key="email" theme="simple" placeholder="%{email}" 
         cssClass="span3"/>
    ...
</s:form>

emailglobal.properties中定义为“Correoelectrónico”。

我的问题是,当我看到jsp页面时,我没有看到email的值,而是看到%{email}

我读到这是在2.3.1版本中解决的Struts2的错误:https://issues.apache.org/jira/browse/WW-3644,但我使用的是Struts2 2.3.4并且我一直遇到同样的问题。

任何人都知道解决此问题的方法或将占位符放在文本字段中的任何其他方法吗?

2 个答案:

答案 0 :(得分:16)

我遇到了同样的问题,我解决了这个问题:

<s:textfield name="user.email" placeholder="%{getText('settings.email')}" />

我需要更新我的Struts 2 OGNL jar。我的OGNL jar是ognl-3.0.5.jar

答案 1 :(得分:2)

对于在堆栈命名空间中创建但未推送的变量,您应该使用#前缀:

<s:textfield placeholder="%{#email}" ... etc ... />