2012-05-21 83 views
1

在我的struts2應用程序中,我想定義一個全局配置部分,並希望在需要時使用它。 澄清讓我分享一個動作定義下面;Struts2 struts.xml配置文件 - 定義全局配置項目

<action name="do_login" class="xxx.actions.AuthAction" method="doLogin"> 
     <result name="success" type="json"> 
      <param name="noCache">true</param> 
      <param name="contentType">text/html</param> 
      <param name="excludeProperties">actionErrors,actionMessages,errorMessages,errors,fieldErrors,locale,texts,action,username,password,errorCode,errorMessage,session</param> 
      <param name="ignoreHierarchy">false</param> 
     </result> 

     <result name="error" type="json"> 
      <param name="noCache">true</param> 
      <param name="contentType">text/html</param> 
      <param name="excludeProperties">actionErrors,actionMessages,errorMessages,errors,fieldErrors,locale,texts,action,session</param> 
      <param name="ignoreHierarchy">false</param> 
     </result> 
    </action> 

正如你所看到的,在結果定義中有一些重複的部分;

<param name="noCache">true</param> 
<param name="contentType">text/html</param> 
<param name="excludeProperties">actionErrors,actionMessages,errorMessages,errors,fieldErrors,locale,texts,action,username,password,errorCode,errorMessage,session</param> 
<param name="ignoreHierarchy">false</param> 

我想在struts.xml文件的開頭全局定義這個重複部分,並在每個結果定義中使用它;

<result name="success" type="json"> 
    {include global definition here} 
</result> 

我知道這是可能通過包裝或動作分解struts.xml的,但我不知道這是可以做到我上面的需要?

thx提前做出任何迴應。

回答

0

Struts2的犯規,對全球任何參數雖然擁有全球結果類型,

這樣你就可以很好得成功和錯誤全球結果,並使用它們。

他們有一些名爲static parameters這是爲Action類,但不適用於你需要的結果類型。

+0

thx @mprabhat。在我的情況下,在每個動作的成功或錯誤結果類型; ''參數可能會有所不同,甚至大部分都是相同的。所以我認爲我必須通過不同的包或動作來分割我的struts.xml文件。 thx爲您的答案。 – saban

+0

@ŞabanUlutaş是的,你可以做到這一點,你也應該想,如果你可以將它們分解成功能 – mprabhat