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>

  

  

Struts2的处理结果(一)——处理结果的配置的更多相关文章

  1. 关于mybatis的参数2个使用经验(类似于struts2的通配所有页面的action配置,xmlsq语句参数类型为基本类型时的快捷指定办法)

    1.我们都知道在struts2中为防止浏览器绕过struts过滤器直接请求页面,所以我们都会配置一个拦截所有页面的action,如下: <action name="*"> ...

  2. Struts2的处理结果(三)——动态配置结果

    Struts2的处理结果(三) --动态配置结果 1.使用表达式语法 示例: <struts> <constant name="struts.enable.DynamicM ...

  3. struts2视频学习笔记 22-23(基于XML配置方式实现对action的所有方法及部分方法进行校验)

    课时22 基于XML配置方式实现对action的所有方法进行校验   使用基于XML配置方式实现输入校验时,Action也需要继承ActionSupport,并且提供校验文件,校验文件和action类 ...

  4. struts2.1.6教程二、struts.xml配置及例程

    1.配置文件的优先级 在struts2中一些配置(比如常量)可以同时在struts-default.xml(只读性),strtus-plguin.xml(只读性),struts.xml,struts. ...

  5. struts2的占位符*在action中的配置方法

    转自:https://blog.csdn.net/u012546338/article/details/68946633 在配置<action> 时,可以在 name,class,meth ...

  6. struts2学习笔记之十四:使用注解配置Action(不是和spring集成使用)

    Struts2支持使用注解配置Action,减少配置文件的配置 Struts2如果要支持注解配置Action,需要插件的支持,导入插件struts2-convention-plugin-2.1.8.1 ...

  7. <转>struts2中Convention中的basePackage与locators配置种种

    用了Convention插件来实现所谓的0配置, 1. struts.convention.package.locators.basePackage=com.ZTest.web.action 这个属性 ...

  8. Struts2 拦截器(Interceptor )原理和配置

    http://blog.csdn.net/kingmax54212008/article/details/51777851

  9. jquery+ajax+struts2

    AJAX 是与服务器交换数据的艺术,它在不重载全部页面的情况下,实现了对部分网页的更新.编写常规的 AJAX 代码并不容易,因为不同的浏览器对 AJAX 的实现并不相同.这意味着您必须编写额外的代码对 ...

  10. Struts2 更改校验配置文件位置

    @(Java)[Struts|Interceptor] Struts2 更改校验配置文件位置 在Struts2中提供的拦截器校验ValidationInterceptor,该校验器中默认的配置文件位于 ...

随机推荐

  1. paper 3:matlab中save,load使用方法小结

    功能描述]存储文件[软件界面]MATLAB->File->Save Workspace As将变量存入硬盘中指定路径.[函数用法] save:该函数将所有workspace中变量用二进制格 ...

  2. CDC

    CDC中最重要的问题是metastability问题. 加入Synchronizer来进行异步时钟的同步,两级的Sync,第二级仍然会出现亚稳态的概率由MTBF决定. MTBF:mean time b ...

  3. Yii框架,在页面输出执行sql语句,方便调试

    1.下载yiidebugtb,并且放入到 application.extensions.yiidebugtb 目录 2.修改main.php,加入如下代码: 'log'=>array( 'cla ...

  4. mysql中查询值为NULL的记录

    例如表A中的user_login_name的值为NULL,用mysql语句把这条记录查询出来,用select user_login_name from A where user_login_name ...

  5. sp_executesql的执行计划会被重用(转载)

    前一段时间,给一位朋友公司做咨询,看到他们的很多的存储过程都存在动态sql语句执行,sp_executesql,即使在没有动态表名,动态字段名的情况下仍然使用sp_executesql,这个做法是不太 ...

  6. FastJson--阿里巴巴公司开源的速度最快的Json和对象转换工具(转)

    本文转自:http://blog.csdn.net/djun100/article/details/24237371 这是关于FastJson的一个使用Demo,在Java环境下验证的 class U ...

  7. 统一使用GPT分区表,安装MAC 10.10 和 Win8.1 pro双系统

    步骤一: 为Mac OS 分区,为其它分区留白1,使用OSX Mavericks制作的Mac安装U盘按住Option键启动:2,选择安装Mavericks盘符:3,进入OSX安装启动界面,选择磁盘工具 ...

  8. json_decode和json_encode

    JSON出错:Cannot use object of type stdClass as array解决方法php再调用json_decode从字符串对象生成json对象时,如果使用[]操作符取数据, ...

  9. STM32内存跟FLASH问题

    RO: 常量 ZI: 未初始化的全局变量 RW: 初始化的全局变量 Code: 程序本身 Code, RO-data,RW-data ..............flash RW-data, ZIda ...

  10. jdk8飞行记录器配置

    jdk8提供了jmc工具,应该比visualvm厉害吧 下面贴一份tomcat的配置,自己留个备份,把下面的内容粘贴到tomcat setenv.sh就可以了 nowday=`date +%Y%m%d ...