一.在strut2的action处理完成后,就应该向用户返回结果信息result

  根据以下代码作为实例分析:

    

<package name="Hello" extends="struts-default">
<global-results>
<result name="error">error.jsp</result>
</global-results> <action name="hello" class="com.qgx.action.Student">
<result name="success" type="dispatcher">success.jsp</result>
<result name="r" type="redirect">success.jsp</result>
<result name="c" type="chain">hello2</result>
<result name="ra" type="redirectAction">hello2</result>
</action> <action name="hello2" class="com.qgx.action.Student2">
<result name="success">success.jsp</result>
</action> </package>

  1.dispatcher(为默认的type )

    org.apache.struts2.dispatcher.ServletDispatcherResult类的方法

    为result的默认类型,用来呈现jsp的页面

    请求转发,底层调用RequestDispatcher的forward()或include()方法,dispatcher是 type属性的默认值,通常用于转向一个JSP。localtion指定JSP的位置,parse如果为

false表示location的值不会被当作 OGNL解析,默认为true。

    为服务器端调转,浏览器的地址栏url不会发生变化,请求的内容在转发前后是共享的,可以带参数过去

  2.redirect(重定向)

    org.apache.struts2.dispatcher.ServletRedirectResult

将用户重定向到一个已配置好的URL

    底层调用response.sendRedirect("")方法

    重定向为客户端跳转,会改变URL地址,请求的内容在跳转前后不共享,也就是不带参数跳转

  3.chain(链式)

    com.opensymphony.xwork2.ActionChainResult
将action和另外一个action链接起来

    将action的带着原来的状态请求转发到新的action,两个action共享一个ActionContext,actionName指定转向的新的Action的名字。

    method指定转向哪个方法,namespace指定新的Action的名称空间,不写表示与原Action在相同的名称空间;

    skipActions指定一个使用 , 连接的Action的name组成的集合,一般不建议使用这种类型的结果

  4.redirectAction(重定向到Action)

    org.apache.struts2.dispatcher.ServletActionRedirectResult 
    将用户重定向到一个已定义好的action

    重定向到另一个Action,参数与chain用法相同,允许将原Action中的属性指定新名称带入新Action 中,可以在Result标签中添加 <param name=”b”>${a} </param>,

    这表示原Action中的变量a的值被转给b,下一个Action可以在值栈中使用b来操作,注意如果值是中文,需要做一些编码处理,因为Tomcat默认是不支持URL直接传递中文的!

  5.result全局配置,所有Action都可以共享

      <global-result></global-result>

   上述4个为常见的result类型,其他几个了解,不常用

    

  说明 result 的 name 属性:


  SUCCESS 
:Action正确的执行完成,返回相应的视图,success是name属性的默认值。
  NONE :表示Action正确的执行完成,但并不返回任何视图。
  ERROR :表示Action执行失败,返回到错误处理视图。
  INPUT :Action的执行,需要从前端界面获取参数,INPUT就是代表这个参数输入的界面,一般在应用中,会对这些参数进行验证,如果验证没有通过,将自动返回到该视图。
  LOGIN :Action因为用户没有登陆的原因没有正确执行,将返回该登陆视图,要求用户进行登陆验证。

    

    

struts2的result的类型配置简介的更多相关文章

  1. struts2 action result type类型

    struts2 action result type类型 1.chain:用来处理Action链,被跳转的action中仍能获取上个页面的值,如request信息. com.opensymphony. ...

  2. Struts2笔记——result结果类型

    result > 每个 action方法都将返回一个 String 类型的值,Struts 将根据这个值来决定响应什么结果. > 每个 Action声明都必须包含有数量足够多的 resul ...

  3. Struts2的result返回类型

  4. Struts2中 Result类型配置详解

    一个result代表了一个可能的输出.当Action类的方法执行完成时,它返回一个字符串类型的结果码,框架根据这个结果码选择对应的result,向用户输出.在com.opensymphony.xwor ...

  5. struts2 中的 result 返回类型是 json 的配置问题

    struts2 中的 result 返回类型是 json 的配置问题 1.引入包(本文中的包全部引自struts-2.1.8.1\lib): struts2-json-plugin-2.1.8.1.j ...

  6. struts2 result type类型

    result标签中type的类型 类型 说明 chain 用于Action链式处理 dispatcher 用于整合JSP,是<result>元素默认的类型 freemarket 用来整合F ...

  7. Struts2自定义返回Json类型result

    本来Struts2有自己的json类型的返回结果,并提供了插件,但是它有一个问题,那就是它会将所有序列化的字段都返回,如果想要制定返回Action的某一个属性,则需要在配置result时,配置参数(这 ...

  8. Struts2(六)result

    一.result简述 result:输出结果:第个Action返回一个字符串,Struts2根据这个值来决定响应结果 name属性:result的逻辑名.和Actin里的返回值匹配,默认"s ...

  9. Struts2基于注解的Action配置

    使用注解来配置Action的最大好处就是可以实现零配置,但是事务都是有利有弊的,使用方便,维护起来就没那么方便了. 要使用注解方式,我们必须添加一个额外包:struts2-convention-plu ...

随机推荐

  1. 01炼数成金TensorFlow基本概念

    一.Tensorflow基本概念 1.使用图(graphs)来表示计算任务,用于搭建神经网络的计算过程,但其只搭建网络,不计算 2.在被称之为会话(Session)的上下文(context)中执行图 ...

  2. python之路---12 生成器 推导式

    三十.函数进阶 1.生成器    函数中有yield 的就是生成器函数(替代了return) 本质就是迭代器   一个一个的创建对象     节省内存 ①创建生成器       最后以yield结束 ...

  3. Serv-U设置被动模式(FTP工具)

    FTP服务器在公司内网,通过端口映射把21端口映射出去. 公司一些机器也在各个省的机房内网.好在这些机器可以访问公网.由于各个地区的机器托管在各个地区机房. 我有公司防火墙的权限,可以做防火墙上做端口 ...

  4. IDEA基本設置

    2.界面字体大小设置 File菜单->Settings->Appearance->Override default fonts by(not recommended):Name:宋体 ...

  5. instanceof isInstance isAssignableFrom 比较

    instanceof  :  java 的关键字 判断一个 实例对象 是不是 可以赋值 给一个 class(  实例对象是不是 class 或者 subClass 的实现 ),表示的类和对象之间的关系 ...

  6. django ajax报错解决:You called this URL via POST, but the URL doesn't end in a slash and you have APPEND_SLASH set.

    Django版本号:1.11.15 django中ajax请求报错:You called this URL via POST, but the URL doesn't end in a slash a ...

  7. USB引脚定义

  8. 宝塔linux面板运行jsp文件的配置工作

    第一步宝塔安装和软件安装我们先安装宝塔面板(这个不需要我说咋弄吧) 安装完成后登录到宝塔面板然后安装软件我个人喜欢nginx最新版,mysql由于服务器配置很菜所以没发装56,php什么的我用不到就没 ...

  9. 黄聪:ffmpeg基本用法(转)

    FFmpeg FFmpeg 基本用法 本课要解决的问题 1.FFmpeg的转码流程是什么? 2.常见的视频格式包含哪些内容吗? 3.如何把这些内容从视频文件中抽取出来? 4.如何从一种格式转换为另一种 ...

  10. .NET使用Task动态创建多任务多线程并行程序计算Redis集群keys计算

    Task是一个很好用的多任务处理类,并且通过Task可以对任务进行很好的控制. 下面将通过代码实现Redis集群在使用IServer.keys时通过多任务对多个服务器示例进行并行计算,并对返回key做 ...