2012-09-04 126 views
1

而不使用瓦片,這沒關係。將值傳遞給瓦片

<action name="/books/{ISBN}/content" class="example.BookAction"> 
    <result>/books/{1}.jsp</result> 
</action> 

我試圖讓這個用瓷磚,但值不會傳遞到瓦片定義
這裏是我的代碼:

<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> 

怎麼能我這樣做?謝謝。!!

+2

我不知道什麼是錯的,但這裏是用一個相當最新版本2.2.2的瓷磚具有一些不錯的功能,包括外卡一個完整的例子支持和OGNL支持(在示例中沒有顯示,也有正則表達式支持):http://stackoverflow.com/questions/10050433/ognl-and-wildcards-working-in-tiles-definitions-with-struts2-tiles-插件 – Quaternion

+0

嗯..我認爲這裏有瓷磚版本的問題。我一直在使用2.1.2。謝謝你,朋友。 – bews99

+0

答案涵蓋了所需的jar,您需要手動升級tile依賴項,但它確實有效。 – Quaternion

回答

0

您可以使用通配符。在支柱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> 
+0

如果你說$ {bean.property} ..它不起作用。 – bews99