2012-11-20 37 views
1

我是新來的struts2,事實上,新的Web應用程序開發剛剛開始開發一個示例應用程序。目前我在我的項目中使用struts瓷磚概念。這是我在我的應用程序中引用tiles.xml的方式。如何從web.xml指向tiles.xml

<listener> 
      <listener-class> 
       org.apache.struts2.tiles.StrutsTilesListener 
      </listener-class> 
    </listener> 
    <context-param> 
      <param-name>tilesDefinitions</param-name> 
      <param-value>/WEB-INF/tiles.xml</param-value> 
    </context-param> 

我想將tiles.xml放置到應用程序的資源文件夾中,儘管將它放在web-inf文件夾中。我如何在web.xml中引用它。

+1

你爲什麼要這麼做? –

+0

我只想在我的Web應用程序中組織我的文件夾,以便資源具有* .xml(struts.xml,tiles.xml),* .properties(MessageBundle.properties)等內容。我怎樣才能做到這一點? – srk

回答

2

將配置文件從原始位置移動是危險的,並且需要逐個檢查。

但通常你可以使用一個技巧:將一個stub xml配置文件放在它所期望的位置,該文​​件只包含位於WEB-INF之外的真實文件的include(或者其內部但在其他位置):

<struts> 
    <include file="..\struts.xml"/> 
</struts> 

如下所述:http://struts.apache.org/2.x/docs/struts-1-solutions.html

對於它很難屬性...小心

+0

感謝您的寶貴建議。我意識到不需要從web-inf改變它的位置。 – srk

+0

不客氣(和不錯的選擇:) –

+1

我不確定這不是一件壞事。 Tiles甚至可以從數據庫中加載它的定義,我不認爲這是眉毛上升以將xml配置文件移動到任何地方。 – Quaternion