1

我试图在tiles 2.1.4 表达式中使用Struts2 消息资源,但没有成功。例如,以下资源在 JSP 中可用...

<s:text name="htmlheadHeading1"/><br/>

...但是当我尝试在图块定义中使用相同的资源时...

<put-attribute name="title" expression="${htmlheadHeading1}" />

...我得到错误...

ELResolver cannot handle a null base Object with identifier 'htmlheadHeading1'

...有没有办法做到这一点?

4

1 回答 1

1

此解决方案不使用切片表达式,但如果您需要在通过切片定义传递键时在 JSP 中显示本地化文本,则该解决方案将起作用。

在瓷砖定义中:

<put-attribute name="title" value="htmlheadHeading1" />

在您的 JSP 中,然后使用 Struts2<s:set>标记将标题从瓷砖定义设置为局部变量,然后在<s:text>标记中使用它。

<s:set var="title">
  <tiles:getAsString name="title" ignore="true"/>
</s:set>
<s:text name="%{#title}"/>
于 2012-12-19T17:18:17.180 回答