Struts2的处理结果(二)

    ——处理结果的类型

1.Struts2內建的支持的结果类型:

  在<result>元素中的type属性,确定了结果类型。

  chain:Action链式处理的结果类型;

  dispatcher:指定使用JSP为视图资源的结果类型;

  freemarker:用于指定使用FreeMarker模板为视图资源的结果类型;

  httpheader:控制特殊HTTP行为的结果类型;

  redirect:跳转到其他URL的结果类型;

  redirectAction:跳转到其他Action的结果类型;

  stream:向浏览器返回一个InputStream;

  plainText:显示某页面的源代码的结果类型;

  ...

2.plainText

  用于显示实际视图资源的源代码。实质上是把此视图资源文件当做普通的文本文件处理,所以才会显示此视图资源的源代码。

示例:

<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 type="plainText">
                <param name="location">welcome.jsp</param>
                <param name="charSet">UTF-8</param>
            </result>
        </action>
    </package>
</struts>

3.redirect

  与dispatcher类型相对,dispatcher类型是将请求转发到指定JSP页面,而redirect是重定向到新的视图资源,redirect会丢失所有的请求参数、属性和Action实例。

示例:

<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 type="redirect">welcome.jsp</result>
        </action>
    </package>
</struts>

3.redirectAction

  与redirect类型相比较,redirect类型是重定向到一个视图资源,而redirectAction是重定向到另一个Action。前一个Action的处理结果、请求参数和属性全部丢失。

示例:

<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">
            <!-- 此结果类型为redirectAction类型,重定向到了一个命名空间为/b的name为package_b的Action -->
            <result type="redirectAction">
                <!-- 指定重定向的Action -->
                <param name="actionName">test2</param>
                <!-- 指定Action所在的命名空间 -->
                <param name="namespace">/b</param>
            </result>
        </action>
    </package>
    <package name="package_b" extends="struts-default" namespace="/b">
        <action name="test2" class="testAction.Test2Action">
            <result name="error">error.jsp</result>
        </action>
    </package>
</struts>

  

Struts2的处理结果(二)——处理结果的类型的更多相关文章

  1. Struts(二十):自定义类型转换器

    如何自定义类型转换器: 1)为什么需要自定义类型转化器?strtuts2不能自动完成字符串到所有的类型: 2) 如何定义类型转化器? 步骤一:创建自定义类型转化器的类,并继承org.apache.st ...

  2. MFC六大核心机制之二:运行时类型识别(RTTI)

    上一节讲的是MFC六大核心机制之一:MFC程序的初始化,本节继续讲解MFC六大核心机制之二:运行时类型识别(RTTI). typeid运算子 运行时类型识别(RTTI)即是程序执行过程中知道某个对象属 ...

  3. Redis 小白指南(二)- 聊聊五大类型:字符串、散列、列表、集合和有序集合

    Redis 小白指南(二)- 聊聊五大类型:字符串.散列.列表.集合和有序集合 引言 开篇<Redis 小白指南(一)- 简介.安装.GUI 和 C# 驱动介绍>已经介绍了 Redis 的 ...

  4. 浅谈Kotlin(二):基本类型、基本语法、代码风格

    浅谈Kotlin(一):简介及Android Studio中配置 浅谈Kotlin(二):基本类型.基本语法.代码风格 浅谈Kotlin(三):类 浅谈Kotlin(四):控制流 通过上面的文章,在A ...

  5. (C/C++学习笔记) 二十三. 运行时类型识别

    二十三. 运行时类型识别 ● 定义 运行时类型识别(Run-time Type Identification, RTTI) 通过RTTI, 程序能够使用基类的指针或引用来检查(check)这些指针或引 ...

  6. HandlerMethodArgumentResolver(二):Map参数类型和固定参数类型【享学Spring MVC】

    每篇一句 黄金的导电性最好,为什么电脑主板还是要用铜? 飞机最快,为什么还有人做火车? 清华大学最好,为什么还有人去普通学校? 因为资源都是有限的,我们现实生活中必须兼顾成本与产出的平衡 前言 上文 ...

  7. 异常处理的方式二:throws+异常类型

    package com.yhqtv.demo01Exception; import java.io.File; import java.io.FileInputStream; import java. ...

  8. Struts2(十)OGNL标签二与Struts2标签

    一.Struts2标签的优势 标签库简化了用户对标签的使用 结合OGNL使用,对于集合.对象的访问功能非常强大 提供可扩展的主题.模板支持.极大简化了视图页面的编写 不依赖任何表现层技术 Struts ...

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

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

  10. [ SSH框架 ] Struts2框架学习之二

    一.Struts2访问Servlet的API 前面已经对 Struts2的流程已经执行完成了,但是如果表单中有参数如何进行接收又或者我们需要向页面保存一些数据,又要如何完成呢?我们可以通过学习 Str ...

随机推荐

  1. 部署ganglia3.7

    环境 centOS6.6 gmetad节点关闭iptable gmetad和httpd只需要在一台节点安装,gmond需要在每台节点上安装. 一.安装epel源 sudo wget http://do ...

  2. angular 自定义指令 link

    function link(scope, element, attrs) { ... } where: scope is an Angular scope object. element is the ...

  3. 夺命雷公狗---DEDECMS----10dedecms双标签

    双标签基本语法如下: {dede:标签名 参数名=“值” 参数名2=“值”...} 内容...... {/dede} 我们先来查看下手册,如下所示: 我们先来用一个channel的标签来做实例,因为c ...

  4. 【cruch bang】中切换成左手鼠标

    在“右键”菜单->settings->Edit autostart启动的geany编辑器中,最后加内容: xmodmap -e 'pointer = 3 2 1'

  5. hadoop 启动停止命令

    1       批量启动与停止 1.1  Start-all.sh # Start all hadoop daemons.  Run this on master node. bin=`dirname ...

  6. Fragement

    package com.exmple.frage; import java.util.ArrayList; import java.util.Calendar; import java.util.Ha ...

  7. java的web项目中使用cookie保存用户登陆信息

    本文转自:http://lever0066.iteye.com/blog/1735963 最近在编写论坛系统的实现,其中就涉及到用户登陆后保持会话直到浏览器关闭,同时可以使用cookie保存登陆信息以 ...

  8. Delphi xe 下快捷使用 FastMM 的内存泄露检测功能

    Delphi xe 集成了FastMM,调试程序是的时候可以方便地检查内存泄露了.  使用方法:在project中,添加一行: ReportMemoryLeaksOnShutdown := Debug ...

  9. access数据库导入Oracle

    1.对着当前的表右击->导出->选择下面的保存类型为"ODBC数据库"找一个路径输入文件名2.将x导出到x,点击->确定3.在弹出的对话框中DSN名称,点击-&g ...

  10. React笔记_(7)_react路由

    路由 路由(routing)是指分组从源到目的地时,决定端到端路径的网络范围的进程. 路由器当然是作为一个转发设备出现的,主要是转发数据包来实现网络互联. 那么react的路由到底指的是什么呢? 举个 ...