Struts2的处理结果(一)——处理结果的配置

来源:转载

Struts2的处理结果(一)

——处理结果的配置

1.处理结果

在Action处理完用户请求之后,并不会直接生成响应,而是把一个字符串返回给Struts2框架,再由框架选择此字符串结果对应的物理视图资源响应给浏览者。

Struts2将处理结果转向实际的物理资源时,这些物理资源可以是JSP、FreeMarker或者是下一个Action或Action链。

2.处理结果的配置

在struts.xml中使用<result>标签配置处理结果,在此项中确定逻辑资源和物理资源之间的映射关系。

3.局部结果

<result>元素作为<action>元素的子元素,一个<action>元素下可以包含多个<result>元素。这些<result>元素只对此<action>有效。

代码:

<?xml version="1.0" encoding="UTF-8" ?>

<!DOCTYPE struts PUBLIC

"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"

"http://struts.apache.org/dtds/struts-2.3.dtd">

<struts>

<constant name="struts.enable.DynamicMethodInvocation" value="false" />

<constant name="struts.devMode" value="true" />

<package name="package_a" extends="struts-default">

<action name="test1" class="testAction.Test1Action">

<!--

在action元素的下的result元素是一个局部结果

该结果只对此action有效

-->

<result name="error">error.jsp</result>

<result name="success">welcome.jsp</result>

</action>

</package>

</struts>

 

4.全局结果

<result>元素作为<global-result>元素的子元素,该<result>就代表了一个全局结果,全局结果对所有的Action有效(相同的<package>下)。

代码:

<?xml version="1.0" encoding="UTF-8" ?>

<!DOCTYPE struts PUBLIC

"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"

"http://struts.apache.org/dtds/struts-2.3.dtd">

<struts>

<constant name="struts.enable.DynamicMethodInvocation" value="false" />

<constant name="struts.devMode" value="true" />

<package name="package_b" extends="struts-default">

<!-- 定义全局结果 -->

<global-results>

<result name="success">welcome.jsp</result>

</global-results>

</package>

</struts>

 

5.配置<result>

(1)<result>中通常有如下两个属性:

1)name:逻辑视图名,可以是Action类处理请求后返回的字符串内容。

2)type:结果类型。

代码:

<struts>

<constant name="struts.enable.DynamicMethodInvocation" value="false" />

<constant name="struts.devMode" value="true" />

<package name="package_a" extends="struts-default">

<action name="test1" class="testAction.Test1Action">

<result name="error" type="dispatcher">error.jsp</result>

<result name="success" type="dispatcher">welcome.jsp</result>

</action>

</package>

</struts>

 

(2)在<result>的属性中,type属性可以省略,它的默认type属性为dispatcher(type的默认值也可以通过修改配置文件修改);name属性也可省略,省略时代表name默认为success。

代码:

<struts>

<constant name="struts.enable.DynamicMethodInvocation" value="false" />

<constant name="struts.devMode" value="true" />

<package name="package_a" extends="struts-default">

<action name="test1" class="testAction.Test1Action">

<!-- 省略type属性,默认为dispatcher -->

<result name="error">error.jsp</result>

<!-- 省略name和type属性,默认为:name="success" type="dispatcher" -->

<result>welcome.jsp</result>

</action>

</package>

</struts>

 

 

 

 

 

 

分享给朋友:
您可能感兴趣的文章:
随机阅读: