zoukankan      html  css  js  c++  java
  • struts2的result的类型配置简介

    一.在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因为用户没有登陆的原因没有正确执行,将返回该登陆视图,要求用户进行登陆验证。

        

        

  • 相关阅读:
    【5】TensorFlow光速入门-图片分类完整代码
    【4】TensorFlow光速入门-保存模型及加载模型并使用
    科研数据库结构
    高并发请求的缓存设计策略
    iOS-KVC的原理
    iOS-KVO的原理
    Kafka too many open files问题解决
    VLOOKUP函数-Excel
    arcgis sql 字符串替换
    ArcGIS矢量转栅格再发布切片服务,还是直接发布切片服务?有何区别?
  • 原文地址:https://www.cnblogs.com/goxcheer/p/7454797.html
Copyright © 2011-2022 走看看