Java 如何在struts2文本字段标记中放置占位符?

Java 如何在struts2文本字段标记中放置占位符?,java,html,struts2,placeholder,Java,Html,Struts2,Placeholder,我正在使用struts2标记,希望在标记中放置一个占位符,如下所示: <s:set name="email" value="getText('email')" /> ... <s:form action="Login"> <s:textfield key="email" theme="simple" placeholder="%{email}" cssClass="span3"/> ... </s:form>

我正在使用struts2标记,希望在
标记中放置一个占位符,如下所示:

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

<s:form action="Login">
    <s:textfield key="email" theme="simple" placeholder="%{email}" 
         cssClass="span3"/>
    ...
</s:form>
<s:textfield name="user.email" placeholder="%{getText('settings.email')}" />

...
...
email
global.properties
中定义为“Correo electroónico”

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

我读到这是Struts2在2.3.1版中解决的一个bug:,但我正在使用Struts2 2.3.4,我一直有同样的问题


是否有人知道此问题的解决方案或将占位符放入文本字段的任何其他方法?

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

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

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

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

<s:form action="Login">
    <s:textfield key="email" theme="simple" placeholder="%{email}" 
         cssClass="span3"/>
    ...
</s:form>
<s:textfield name="user.email" placeholder="%{getText('settings.email')}" />


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

它也不工作。占位符打印
%{email}
。它不会计算表达式:(@DaveNewton-在自动补全器上放置占位符怎么样?我保证明天会检查它。没问题!只是想帮忙