Struts2 将值传递给平铺

Struts2 将值传递给平铺,struts2,tiles,Struts2,Tiles,不使用瓷砖,这是可以的 <action name="/books/{ISBN}/content" class="example.BookAction"> <result>/books/{1}.jsp</result> </action> 我尝试使用tiles来获得它,但是没有将值传递给tiles定义 这是我的密码: <action name="/books/{ISBN}/content" class="example.BookAc

不使用瓷砖,这是可以的

<action name="/books/{ISBN}/content" class="example.BookAction">
    <result>/books/{1}.jsp</result>
</action> 
我尝试使用tiles来获得它,但是没有将值传递给tiles定义 这是我的密码:

<action name="/books/{ISBN}/content" class="example.BookAction">
    <result type="tiles">{1}blablabla</result>
</action>
tiles.xml

<definition name="*blablabla" extends="main_layout">
   <put-attribute name="body_area" value="/books/{1}.jsp" />
</definition>

我该怎么做?谢谢

您可以使用通配符。在struts xml中

<action name="/books/{ISBN}/content" class="example.BookAction">
    <result type="tiles">${evalExpression}blablabla</result>
</action>
然后是瓷砖

<definition name="*blablabla" extends="main_layout">
   <put-attribute name="body_area" value="/books/{1}.jsp" />
</definition>

我不确定哪里出了问题,但这里有一个完整的示例,它使用了tiles 2.2.2的最新版本,具有一些很好的功能,包括通配符支持和OGNL支持。示例中没有显示。还有正则表达式支持:嗯……我想这里有一个tiles版本的问题。我一直在使用2.1.2。谢谢你,朋友。答案涵盖了所需的jar,你需要手动升级tiles依赖项,但它确实有效。