一.在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. Modularizing your graphQL schemas

    转自: https://tomasalabes.me/blog/nodejs/graphql/2018/07/11/modularizing-graphql.html Modularizing you ...

  2. Singer 学习十三 发现模式

    发现模式 发现模式提供了一种描述tap 支持数据流的方式,使用了json schema 做为描述数据的结构以及每个数据流的 类型,发现模式的实现依赖tap 的数据源,有些taps 将硬编码每个流的模式 ...

  3. nakadi 一款基于kafka 的http event broker

    nakadi 是zalando 开源的一款基于kafka 的event broker ,我们可以方便的使用http 协议进行操作 支持一些特性: stream 操作,我们可以流的方式订阅event e ...

  4. 06SVM线性不可分时scikit-learn实现

    https://blog.csdn.net/weixin_40123108/article/details/84378202 In [5]: from time import time import ...

  5. 01python简介

    目录 1.  Python起源 2.  解释器 3.  Python 的设计目标 4.  Python 的设计哲学 5.  为什么选择  Python ? 6.  Python 特点 7.  Pyth ...

  6. 目前支持WebGL的浏览器有哪些?

    Google Chrome 9+ Mozilla Firefox 4+ Safari 5.1+(仅限于Mac OS X操作系统,不包括Windows) Opera 12 alpha及以上版本 IE9+ ...

  7. day4 大纲笔记

    01 上周内容回顾 int bool str int <---> str: i1 = 100 str(i1) s1 = '10' int(s1) 字符串必须是数字组成. int <- ...

  8. es高级部分

    1 关于机器 配置. 内存:上亿的数据一般需要64G内存的服务器.劲量不要使用小于32G 内存的服务器. cpu:es 对cpu 要求依赖不如内存.一般要求2-8 核就可以了. 磁盘:es 对磁盘依赖 ...

  9. ionic cordova platform --help

    ionic platform add android 给我报这个问题,不理解 The platform command has been renamed. To find out more, run: ...

  10. 代理本地局域网其他PC上网的设置