`

struts2 跳转类型几种类型说明

 
阅读更多

1.关于struts2 result type的几种采用类型

  redirect 类型用于重定向到一个页面,另一个action或一个网址。

     <result name="list" type="redirect">/Sections.do?appid=${appid}&amp;pageNo=${pageNo}</result>

  缺点:redirect把一个http返回码(SUCCESS)以及返回的页面位置一起重新发给web服务器,容纳后由web服务器产生一个新的HTTP请求,就会产生一个新的线程,保存在原来Action执行的线程中的数据就无法访问。
所以,result需要包含Action的数据,那么redirect不是一个可行的办法。因为新的HTTP请求时在Servlet容器的新的线程中处理的,ActionContext中的所有状态都不会存在。

redirect-action 结果类型使用ActionMapperFactory提供的ActionMapper来重定向请求到另外一个action

  <result name="success" type="redirect-action">     
             login?userInfo.userName=${userInfo.userName}&amp;userInfo.password=${userInfo.password}     
   </result>

   或者
  
 <result name="success" type="redirect-action">     
     <param name="actionName">login</param>
     <param name="userInfo.userName">${userInfo.userName}</param> 
  </result>

 redirect和redirect-action两种结果类型在使用上其实并没有什么区别,只是写法不同而已。 redirect需要添加后缀,而redirect-action不需要添加后缀。

 chain 用于把相关的几个action连接起来,共同完成一个功能。处于chain中的action属于同一个http请求,共享一个ActionContext

   <result name="success" type="chain">

    
  dispatcher 为默认跳转类型,用于返回一个视图资源(如:jsp),用于页面转发,页面跳转过程一直是同一个线程,Action中的数据一直保存在。
location只能是页面,如果是actino则可以采用chain来解决。
   <result name="success" type="dispatcher">
        <param name="location">/main.jsp</param>
   </result>

在这个配置文件里,多个参数的连接符使用了"&amp;",但XML的语法规范,应该使用"&amp;"代替"&",原理和HTML中的转义相同,开始没有注意,在struts分析配置文件时,总是报出这样的错误:

  The reference to entity "preinfo" must end with the ';' delimiter.  

进行上面说明的替换后,就正常了。

 

分享到:
评论

相关推荐

    Struts2主要Lib

    在"struts2lib"这个压缩包中,可能包含的文件有`struts2-core.jar`(核心库)、`xwork-core.jar`(XWork框架,是Struts2的基础)、`ognl.jar`(OGNL库)、`struts2-convention-plugin.jar`(约定优于配置插件)、`...

    Struts2Demo2

    在Struts2Demo2中,你可能会看到以下几个关键部分: 1. **struts.xml**:这是Struts2的主配置文件,定义了Action类、结果页面、拦截器等。在这个文件中,你可以看到Action的配置,如Action类的全限定名、处理的HTTP...

    struts2入门demo

    首先,Struts2是一个基于MVC(Model-View-Controller)架构的框架,它提供了一种组织应用代码的方式,使得业务逻辑、数据模型和用户界面能够有效地分离。在本入门案例中,你可能会看到以下几个核心组件: 1. **...

    struts2的action的几种result type说明

    Result Type是Result的一种预定义类型,决定了结果如何被处理和展现给用户。在`struts-default.xml`配置文件中,我们可以看到Struts2支持多种内置的Result Type。 1. **dispatcher** (默认): 这是最常见的Result ...

    Struts2_result返回类型

    Struts2 是一个非常流行的Java Web开发框架,它提供了一种强大的MVC(Model-View-Controller)架构来构建应用程序。在Struts2中,Action是业务逻辑的核心,而Result则是Action执行后的响应方式。`Struts2_result返回...

    基于Struts2的留言板系统.zip

    8. ** strut2-convention-plugin**: Struts2提供了一种约定优于配置的方式,通过struts2-convention-plugin插件,可以自动映射Action和结果,简化了传统XML配置。 9. **国际化与本地化**: 一个成熟的留言板系统可能...

    Struts2详细分类流程API文档

    总之,"Struts2详细分类流程API文档"涵盖了Struts2框架的核心流程和API,包括Action、Interceptor、Result的使用,以及Struts2标签库和OGNL等重要概念。开发者可以通过这份文档深入理解Struts2的工作原理,提高开发...

    Struts2登录DEMO

    7. **异常处理**:Struts2提供了一种全局的异常处理机制,通过`&lt;global-exception-mappings&gt;`和`&lt;global-results&gt;`配置,可以统一处理Action执行过程中的异常,并定义异常发生后的跳转页面。 8. **国际化...

    struts2核心配置文件

    - **struts.objectTypeDeterminer**:指定Struts2的类型检测机制,支持 `tiger` 和 `notiger` 两种属性值。 5. **文件上传配置**: - **struts.multipart.parser**:指定处理multipart/form-data MIME类型的框架...

    struts2中result类型之redirect

    在Struts2框架中,`Result`类型是动作(Action)执行后的一种处理方式,它定义了动作执行完后页面跳转或者数据处理的行为。`Redirect`是`Result`类型中的一种,它涉及到Web应用程序中的URL重定向概念,对用户浏览器...

    Struts2增删改查

    Struts2支持多种结果类型,如dispatcher(转发到一个JSP页面)、stream(下载文件)等。在Action中通过返回一个结果名称,Struts2会根据配置决定如何跳转到对应的视图。 9. **拦截器(Interceptor)**: 拦截器是...

    struts 1.2 跳转后css或js 无效解决方法

    针对上述问题,可以采取以下几种策略来解决CSS或JS在跳转后失效的问题: 1. **检查资源路径**: - **确认资源路径是否正确**:确保CSS或JS文件所在的路径配置正确。可以尝试使用绝对路径,如`...

    struts2 lib design

    在Struts2的设计中,核心理念包括以下几个方面: 1. **模块化设计**:Struts2的每个组件如Action、Result、Interceptor等都是独立的,可以单独替换或扩展,使得系统具有很高的灵活性。 2. **依赖注入(Dependency ...

    struts2新手入门小项目

    Struts2是一个强大的Java web框架,它为开发者提供了一种组织和构建MVC(Model-View-Controller)架构的应用程序的方式。本项目是为初学者设计的,旨在帮助他们快速理解并掌握Struts2的基本概念和操作。 首先,让...

    struts2源码最新

    Struts2是Java Web开发中一个非常重要的框架,它基于MVC(Model-View-Controller)设计模式,为开发者提供了一种结构化和可扩展的方式来构建动态网站应用程序。该框架自2005年发布以来,经过多次更新迭代,成为了...

    struts2登陆例子

    在Struts2项目中,通常会有以下几个部分: - `struts2-core.jar`和其他依赖库:Struts2框架的核心组件。 - `web-INF`目录:包含`struts.xml`等配置文件,`classes`目录存放编译后的Action类,`lib`目录存放其他...

    struts2注解必须包

    在Struts2中,注解(Annotation)是开发者常用的一种元数据表示方式,它允许我们在代码中直接标注信息,简化配置文件。"struts2注解必须包"指的是Struts2提供的一系列注解,它们对于简化Struts2应用的配置和增强其...

    Spring+struts2

    Spring 和 Struts2 是两种非常流行的 Java Web 开发框架,它们在企业级应用开发中有着广泛的应用。Spring 提供了全面的依赖注入(DI)和面向切面编程(AOP)功能,而 Struts2 则是用于构建 MVC(Model-View-...

    struts 2登录系统及其jar包

    2. **配置文件**:Struts 2的配置文件(通常是struts.xml)定义了Action类与URL的映射关系,以及结果页面的跳转规则。在这个登录示例中,你需要配置Action类与"/login"这样的URL相对应,当用户访问此URL时,Struts 2...

    一个struts的action跳转大全

    根据以上流程,我们可以更深入地理解以下几种常见的Action跳转场景: 1. **Action跳转全解** ```xml name="someForm" input="someJSP.jsp" ``` 在此配置中,当请求路径为`/aFullAction`时,会调用`...

Global site tag (gtag.js) - Google Analytics