`
高成锋
  • 浏览: 52766 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

struts2学习笔记【八】/ struts.xml--action

阅读更多

1. action详解

Action自身的设置在package中我们已经讲解过,在这里就不重复叙述了,我们对action中的其他信息进行学习。

1.1. result action处理结果组件

name result的名称,同action类处理后的返回值是对应的。

type result的处理类型

一般情况下最简单的配置result只要设置一个name属性就行了,type属性书负责处理客户端跳转还是服务器端跳转的。

客户端发出请求时,我们有时候不允许页面直接跳转到页面,那么就需要进行如下设置:

<action name="main">       //没有指定action类,只是一个单纯的转向

<result>/main.jsp</result>

</action>

前台url访问,main.action,但是url中是服务器端跳转,这个没有任何的意义,所以我们需要修改如下:

<result type="redirect">/main.jsp</result>

Type的类型有两种:

a)chain com.opensymphony.xwork2.ActionChainResult

b)redirectAction org.apache.struts2.dispatcher.ServletActionRedirectResult

以上两种方式均可以跳转到action中,前者是服务器端跳转,后者是客户端跳转,表现在地址栏上的信息会发生变化,但是无论是前者还是后者,单纯的action之间的跳转,在最终的页面上均能获得前面action中传递的属性值【拦截器捕获传递】。

<action>

//A)

<result  name ="success">/test.action</result>

//B)

<result  name ="success">test.action</result>

//C)

<result  name ="success">test</result>

//D)服务器端action跳转

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

<param name="actionName">test</param>

</result>

//E)客户端跳转

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

<param name="actionName">test</param>

</result>

</action>

以上几种配置中A,B,C的写法是错误的,因为我们采用的default模式,其完整的写法应该是:

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

<param name="Location">test</param>

</result>

其中paramname属性中的值都是既定的,不能自定义。

DE两种配置方式中,跳转后传递的属性值还是可以获取的,但是如果在指向的action中设置了其结果指向<result  type="redirect"></result>,那么前一个action中的属性值在无法在最终跳转的页面上获取了,因为页面已经转向客户端跳转了。

<result  name ="success"  type="redirect">/test.jsp</result>

但是我必须要进行客户端跳转,同时又想获得传递的属性值怎么办呢?

传参:/test.jsp?name=${username}

同样的,在页面上取值时也要适当变化了,${param.name}

如果不支持EL表达式,可能是版本问题,需要修改java compiler5.0

注意:actionaction之间的跳转时,如果两个action不在同一个包下,则需要加上对应的命名空间:

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

<param  name="actionName">/命名空间名/test</param>

或者是

<param  name="actionName">/test</param>

<param  name="namespace">/命名空间名</param>

</result>

页面转向的动态结果:

<action  name="success"  type="chain">${newActionName}</result>

补充:XSLT【处理XML/XLST模版】

plainTest 显示原始文件的内容,例如文件源码  org.apache.struts2.dispatcher.PlainTextResult

Location: 目标文件

Charset:  字符编码

例如:

<action  name = "success" type="plainText">

<param  name="Location">/test.jsp</param>

<param  name="charset">GBK</param>

</action>

1.2. interceptor-ref 拦截器引用

1.3. param 参数

1.4. exception-mapping 异常处理

异常的使用需要拦截器的协助,在后台捕获到异常时,若struts.xml中有相应的异常配置,那么拦截器就会跳转到指定页面,同时输出错误信息.

<result name="exception">/exception.jsp</result>

<exception-mapping

 result="exception" exception="java.sql.SQLException" />

<!--EndFragment-->
分享到:
评论

相关推荐

    struts2学习笔记.doc

    ### Struts2学习笔记知识点概览 #### 一、环境搭建 **1.1 Struts2简介** - **Struts2概述**:Struts2是一个开源的MVC框架,它结合了Struts 1.x、WebWork和其他一些框架的优点。Struts2的主要目标是简化Web应用程序...

    struts2学习笔记!

    ### Struts2学习笔记 #### 一、Struts2配置文件详解 在深入理解Struts2框架之前,我们首先需要了解其核心配置文件——`struts.xml`。 **1. struts.xml配置** ```xml &lt;?xml version="1.0" encoding="UTF-8"?&gt; &lt;!...

    Strtus2学习笔记

    ### Struts2学习笔记知识点梳理 #### 一、前言及背景 - **Struts2简介**:Struts2是一个基于MVC模式的开源Web应用框架,它继承了Struts1的一些特性,并在此基础上进行了很多改进,使得开发更加便捷高效。 - **学习...

    struts2学习笔记(1)

    ### Struts2学习笔记知识点详解 #### 一、Struts2框架的基本引入步骤 ##### 1. 导入Struts2相关Jar包 在引入Struts2框架时,首先需要将Struts2的相关Jar包导入到项目的类路径中。这些Jar包通常包括核心库以及其他...

    Struts2学习笔记(一) 环境的搭建与HelloWorld程序

    在本篇学习笔记中,我们将聚焦于环境搭建和创建第一个"Hello, World!"程序。 首先,要开始学习Struts2,你需要确保你的开发环境中已经安装了以下基本组件: 1. **Java Development Kit (JDK)**:Struts2依赖于Java...

    Struts2.0学习笔记.doc

    在Struts2中,类型转换是自动进行的,旨在帮助开发者处理请求参数与Action类属性之间的类型匹配问题。文档中的内容主要涉及到Struts2.0的类型转换机制,特别是对于自定义类型转换器的使用。 首先,Struts2.0内置了...

    【张冰Struts2学习笔记】0102_第一个Struts2实例

    【张冰Struts2学习笔记】0102_第一个Struts2实例 在Java Web开发领域,Struts2框架是十分重要的MVC(模型-视图-控制器)架构之一,它极大地简化了Web应用程序的开发流程。这篇学习笔记将带你入门Struts2,通过创建...

    struts1.2学习笔记

    ### Struts 1.2 学习笔记:深入理解 Struts 工作流程 #### Struts 概述 Struts 是一个开源的 MVC(Model-View-Controller)框架,用于简化 Java Web 应用程序的开发。Struts 1.2 版本是基于 Servlet 的 MVC 实现,...

    velocity学习笔记与struts2整合

    `FilterDispatcher`是Struts2的默认过滤器,负责拦截所有请求并处理Action。而`VelocityViewServlet`则是Velocity的视图处理Servlet,它会解析以`.vm`为扩展名的文件。 ```xml &lt;filter-name&gt;struts2&lt;/filter-name...

    struts2 学习重点笔记

    ### Struts2 学习重点知识点总结 #### 一、Struts2 概念与架构 **1.1 Struts2 简介** - **定义**:Struts2 是 Apache 组织提供的一个基于 MVC 架构模式的开源 Web 应用框架。 - **核心**:Struts2 的核心其实是 ...

    Struts2_Action学习笔记、通配符{1},{2}

    ### Struts2_Action 学习笔记与通配符配置详解 #### 一、Struts2简介及简单配置 Struts2是一个基于Java EE平台的开源Web应用框架,它继承了Struts1的优点,并在此基础上进行了大量的改进。Struts2的核心功能之一是...

    Struts2学习笔记

    根据给定的文件信息,以下是对Struts2学习笔记中涉及的关键知识点的详细解析: ### Struts2框架概览 #### MVC模式的理解与演进 Struts2是基于MVC(Model-View-Controller)模式设计的一种Java Web开发框架。在MVC...

    传智播客struts2全程学习笔记

    ### 传智播客Struts2全程学习笔记 #### Struts2的优点 1. **无侵入式设计**:与Struts1相比,Struts2的设计更为先进,它不依赖于Servlet API或Struts API,这使得Struts2更加灵活且易于集成到其他环境中。在代码...

    struts2.0学习笔记

    在src目录下创建`Struts.xml`配置文件,这是Struts2的核心配置文件,定义了Action的映射和结果页面。例如: ```xml &lt;?xml version="1.0" encoding="UTF-8"?&gt; &lt;!DOCTYPE struts PUBLIC "-//Apache Software ...

    struts2笔记(配置,标签库等)

    Struts2是一个强大的MVC(Model-View-Controller)框架,它在Java Web开发中扮演着重要的角色。本文将深入探讨Struts2的核心配置、...通过深入学习和实践,开发者能够利用Struts2的强大功能,提升开发效率和应用质量。

    struts2学习笔记总结

    1. 配置:Struts2的配置文件(struts.xml)用于定义Action、结果类型、包和拦截器链。Action的配置包括Action名称、Class映射、结果和参数等。 2. 拦截器:拦截器是Struts2的核心特性,它们在Action执行前后按顺序...

    Struts2学习笔记与心得

    - `struts.xml`是Struts2的核心配置文件,用于定义包(Package)、Action及其映射等。一个简单的示例配置如下: ```xml &lt;?xml version="1.0" encoding="UTF-8"?&gt; &lt;!DOCTYPE struts PUBLIC "-//Apache Software ...

Global site tag (gtag.js) - Google Analytics