Apache Tiles中的Struts2 MessageResources

时间:2012-12-17 19:13:52

标签: struts2 tiles2

我尝试在磁贴中使用Struts2消息资源失败 2.1.4表达。例如,以下资源可用 JSP ......

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

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

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

......我收到了错误......

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

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

1 个答案:

答案 0 :(得分:1)

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

在瓷砖定义中:

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

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

<s:set var="title">
  <tiles:getAsString name="title" ignore="true"/>
</s:set>
<s:text name="%{#title}"/>