描述
WebWork允許您為所有Action配置定義一些默認的result映射,它會自動的被這個包中所有的Action以及所有擴展包繼承,換句話說,如果您在多個Action中使用相同的result映射,您可以把它配置成全局的Result.
例子
<package name="default">
....
<global-results>
<result name="login" type="dispatcher">
<param name="location">login.jsp</param>
</result>
</global-results>
<action name="foo" class="mypackage.fooAction">
<result name="success" type="dispatcher">bar.jsp</result>
</action>
<action name="submitForm" class="mypackage.submitFormAction">
<result name="success" type="dispatcher">submitSuccess.jsp</result>
</action>
...
</package>
這樣配置也可以
<package name="default">
....
<action name="foo" class="mypackage.fooAction">
<result name="success" type="dispatcher">bar.jsp</result>
<result name="login" type="dispatcher">login.jsp</result>
</action>
<action name="submitForm" class="mypackage.submitFormAction">
<result name="success" type="dispatcher">submitSuccess.jsp</result>
<result name="login" type="dispatcher">login.jsp</result>
</action>
...
</package>
描述
在WebWork中您可以為您的Action定義默認的結果類型.這樣當使用默認結果類型時就不用指定了.如果一個包擴展另一個包,且您沒有為子包指定新的默認結果類型,那么當子包的result標簽中沒有指定結果類型時就會使用父包中的默認類型.
....
<result-types>
<result-type name="dispatcher" class="com.opensymphony.webwork.dispatcher.ServletDispatcherResult" default="true"/>
<result-type name="redirect" class="com.opensymphony.webwork.dispatcher.ServletRedirectResult"/>
<result-type name="velocity" class="com.opensymphony.webwork.dispatcher.VelocityResult"/>
</result-types>
....
<action name="bar" class="myPackage.barAction">
<result name="success">foo.jsp</result>
<result name="error" type="velocity">error.vm</result>
</action>
....
描述
Result是Action返回的表示Action執行情況的字符串常量.WebWork定義了一些默認結果:error, input, login, none and success.開發者當然也可以根據應用情況自由的定義結果.結果以"名字-值"的形式影射到結果類型.
結果標簽
結果標簽告訴WebWork在action被調用以后下一步做什么.這里是WebWork定義好的一些結果編碼:
String SUCCESS = "success";
String NONE = "none";
String ERROR = "error";
String INPUT = "input";
String LOGIN = "login";
您可以自己擴展.大多數情況下你會用到 SUCCESS 或 ERROR ,當返回 SUCCESS 時跳轉到下應用程序的一個頁面.
<result name="success" type="dispatcher">
<param name="location">/thank_you.jsp</param>
</result>
...如果返回*ERROR*轉向錯誤頁面或回到前面的頁面.
<result name="error" type="dispatcher">
<param name="location">/error.jsp</param>
</result>
結果在xwork.xml文件中定義,嵌套在<action>標簽里.如果location參數是唯一的參數,你可以這樣簡單的定義:
<action name="bar" class="myPackage.barAction">
<result name="success" type="dispatcher">
<param name="location">foo.jsp</param>
</result>
</action>
或簡單的
<action name="bar" class="myPackage.barAction">
<result name="success" type="dispatcher">foo.jsp</result>
</action>
甚至更簡單
<action name="bar" class="myPackage.barAction">
<result>foo.jsp</result>
</action>
|
默認Action類
如果action標簽中的class屬性沒有指定,系統默認為WebWork的ActionSupport類.
|
|
默認Location參數
如果<result ..>標簽中沒有param標簽,如<param name="location"> ,,, </param>作為子標簽.WebWork就把<result> </result>里面的文字作為location
|
|
默認返回類型
如果沒有指定<result ...>標簽的type屬性,WebWork默認為dispatcher類型(類似于Servlet標準中的SerlvetDispatcher的forward)
|