描述
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)
|