</
struts
>
表示指定了资源文件的放置在classes目录下,基本名是messages,则在classes目录下您就应该放置类似messages_zh_CN.properties,message_en.properties名的文件。
struts2的action
大
多数情况下都会继承com.opensymphony.xwork2.ActionSupport类,并重写此类里的public String
execute() throws
Exception方法。因为此类中实现了很多的实用接口,提供了很多默认方法,这些默认方法包括获取国际化信息的方法、数据校验的方法、默认的处理用户
请求的方法等,这样可以大大的简化Action的开发。
Struts2中通常直接使用Action来封装HTTP请求参数,因
此,Action类里还应该包含与请求参数对应的属性,并且为属性提供对应的
getter和setter方法。(当然,Action类中还可以封装处理结果,把处理结果信息当作一属性,提供对应的getter和setter方法)
Struts2中提供了一个ActionContext类(当前Action的上下文对象),通过这个类可以访问Servlet API。下面是该类中提供的几个常用方法:
l
public static ActionContext getContext() :获得当前Action的ActionContext实例。
l
public
Object get(Object key) :此方法类似于调用HttpServletRequest的getAttribute(String
name)方法。
l
public void put(Object key, Object value)
:此方法类似于调用HttpServletRequest 的setAttribute(String name, Object o)。
l
public
Map getParameters()
:获取所有的请求参数。类似于调用HttpServletRequest对象的getParameterMap() 方法。
l
public Map getSession() :返回一个Map对象,该Map对象模拟了HttpSession实例。
l
public
void setSession(Map session) :
直接传入一个Map实例,将该Map实例里的key-value对转换成session的属性名-属性值对。
l
public Map getApplication() :返回一个Map对象,该对象模拟了该应用的ServletContext实例。
l
public
void setApplication(Map application)
:直接传入一个Map实例,将该Map实例里的key-value对转换成application的属性名-属性值对。
DMI:Dynamic Method Invocation 动态方法调用。
动态方法调用是指:表单元素的action不直接等于某个Action的名字,而是以如下形式来指定对应的动作名:<form method="post"
action="userOpt!login.action"
则
用户的请求将提交到名为”userOpt”的Action实例,Action实例将调用名为”login”方法来处理请求。同时login方法的签名也是
跟execute()一样,即为public String login() throws Exception。
注意:要使用动态方法调用,必须设置Struts2允许动态方法调用,通过设置struts.enable.DynamicMethodInvocation常量来完成,该常量属性的默认值是true。
在
struts.xml文件中配置<action…>元素时,它的name、class、method属性都可支持通配符,这种通配符的方式是
另一种形式的动态方法调用。当我们使用通配符定义Action的name属性时,相当于用一个元素action定义了多个逻辑Action.
Struts2的Action处理用户请求结束后,返回一个普通字符串-逻辑视图名,必须在struts.xml文件中完成逻辑视图和物理视图资源的映射,才可让系统转到实际的视图资源。
Struts2通过在struts.xml文件中使用<result …/>元素来配置结果。Struts2提供了两种结果。
l
局部结果:将<result …/>作为<action …>元素的子元素配置。
l
全局结果:将<result …/>作为<global-results …>元素的子元素配置。
Struts2提供了对不同种类返回结果的支持,常见的有JSP,FreeMarker,Velocity等。
Struts2支持的不同类型的返回结果为:
名字
|
说明
|
chain
|
用来处理Action链
|
dispatcher
|
用来转向页面,通常处理JSP
,这是默认的结果类型
|
freeMarker
|
处理FreeMarker模板
|
httpHeader
|
用来控制特殊的Http行为
|
redirect
|
重定向到一个URL
|
redirect-action
|
重定向到一个Action
|
stream
|
向浏览器发送InputSream对象,通常用来处理文件下载
|
velocity
|
处理Velocity模板
|
xslt
|
处理XML/XLST模板
|
plaintext
|
显示原始文件内容,例如文件源代码
|
tiles
|
结合Tile使用
|
Struts2的异常处理机制通过在struts.xml文件中配置<exception-mapping …>元素完成的,配置该元素时,需要指定两个属性:
exception:此属性指定该异常映射所设置的异常类型。
result:此属性指定Action出现该异常时,系统转入result属性所指向的结果。
l
局部异常映射:<exception-mapping…>元素作为<action…>元素的子元素配置。
l
全局异常映射:<exception-mapping…>元素作为<global-exception-mappings>元素的子元素配置。
使用Struts2的标签来输出异常信息:
l
<s:property value="exception.message"/> : 输出异常对象本身。
l
<s:property value="exceptionStack"/> : 输出异常堆栈信息。
相关推荐
struts.configuration.xml.reload Whether to reload the XML configuration or not 是否加载xml配置(true,false) struts.continuations.package The package containing actions that use Rife continuations ...
### Struts2学习笔记知识点概览 #### 一、环境搭建 **1.1 Struts2简介** - **Struts2概述**:Struts2是一个开源的MVC框架,它结合了Struts 1.x、WebWork和其他一些框架的优点。Struts2的主要目标是简化Web应用程序...
### 魔乐科技Struts2.x框架笔记详解 #### 一、框架开发基础与特性 **框架开发来源**:框架开发的核心在于反射机制的应用,它使得开发者能够以更为灵活的方式构建应用程序。在Struts2.x框架中,这一点体现得尤为...
3. **配置文件**:Struts1.x的配置主要分为两个部分:struts-config.xml和web.xml。struts-config.xml定义了Action的映射、Form Beans、数据源、以及其他的配置项。web.xml则配置了Struts Filter和Servlet。 4. **...
根据给定的文件信息,以下是对Struts2学习笔记中涉及的关键知识点的详细解析: ### Struts2框架概览 #### MVC模式的理解与演进 Struts2是基于MVC(Model-View-Controller)模式设计的一种Java Web开发框架。在MVC...
### Struts2学习笔记知识点详解 #### 一、Struts2框架的基本引入步骤 ##### 1. 导入Struts2相关Jar包 在引入Struts2框架时,首先需要将Struts2的相关Jar包导入到项目的类路径中。这些Jar包通常包括核心库以及其他...
5. **配置Struts2**:在src/main/resources目录下创建`struts-default.xml`和`struts.xml`文件。在`struts-default.xml`中引入Struts2的默认配置。在`struts.xml`中配置你的Action,如下: ```xml <?xml version=...
在本文中,我们将深入探讨Struts2的核心概念和配置,包括HelloWorld示例、配置文件struts.xml、执行流程、命名空间以及Action。 1. **Struts2 HelloWorld**: 创建一个简单的Struts2应用通常从"HelloWorld"开始。...
2. **配置Web.xml:** 在项目的`web.xml`文件中,需要配置Struts2的Filter,这是启动Struts2的关键步骤。通常,Filter的名称设置为`struts2`,并指定其对应的类为`org.apache.struts2.dispatcher.ng.filter....
2. **修改Struts2的配置常量**:有多种方式可以覆盖默认常量,如在应用的`struts.properties`文件中直接定义、在`struts.xml`的`<constant>`标签内声明,或在`web.xml`中配置过滤器参数。 - 方式一:在`struts....
本笔记主要涵盖了Struts2的基础知识,包括但不限于配置、Action、拦截器、结果类型以及异常处理等内容。 1. **Struts2框架简介** Struts2是Apache软件基金会的一个开源项目,它是Struts1的升级版,弥补了Struts1在...
### 牧紫小岩的Struts2学习笔记精要 #### Struts2与Struts1对比 在**牧紫小岩的Struts2学习笔记**中,提到了Struts1和Struts2在实例化Action上的关键差异。Struts1在启动时创建Action实例,并在整个应用程序运行...
### Struts2学习笔记 #### 一、Struts2配置文件详解 在深入理解Struts2框架之前,我们首先需要了解其核心配置文件——`struts.xml`。 **1. struts.xml配置** ```xml <?xml version="1.0" encoding="UTF-8"?> <!...
在"良葛格学习笔记Struts.rar"压缩包中,我们可以期待找到关于Struts框架的详细学习资料,包括理论概念、实践示例以及可能的代码片段。 Struts框架的核心组件包括: 1. **ActionServlet**:作为Struts框架的入口点...