<action-mapping>元素:包含一个或者N个<action>元素,描述了从特定的请求路径到响应的Action的映射。在<action>元素中可以包含多个<exception>和<forward>子元素,他们分别配置局部异常处理和局部转发。attribute设置Action关联的ActionForm在request或者session范围内的key,就是在request或者session共享内的名称。className对应配置元素的类,默认的是ActionMapping.forward指定转发URL路径。include指定包含URL路径input指定包含表单的URL,当表单验证失败的时候发送的URL.name,指定和该Action关联的Form名字。该名字必须是在form-bean中定义过的,parameter指定Action配置参数。在Action的execute()方法中可以调用ActionMapping的getParameter()方法来读取匹配的参数。roles指定允许调用该Action的安全角色,多个角色之间逗号格开。scope指定Form的存在范围,默认是session.tyep指定Action的完整类名。unknown如果是true表示可以处理用户发出的所有的无效的ActionURL,默认是false.validate指定是否调用ActionForm的validate方法。具体配置示例说明如下:
描述从特定的请求路径到相应的Action类的映射。它具有以下几个属性:
1. attribute:设置和Action关联的ActionForm Bean在request和session范围内的key。如:Form Bean存在于request范围内,此项设为“myBenas”,则在request.getAttribute("myBenas")就可以返回该Bean的实例。
2. classsName:和action元素对应的配置元素,默认为:org.apache.struts.action.ActionMapping.
3. forward:转发的URL路径。
4. include:指定包含的URL路径。
5. input:输入表单的URL路径,当表单验证失败时,将把请求转发到该URL。
6. name:指定和Action关联的Action FormBean的名字,该名字必须在Form-Bean定义过。
7. path:指定访问Action的路径,以“/”开头,无扩展名。
8. parameter:指定Actgion的配置参数,在Action类的execute()方法中,可以调用ActionMapping对象的getParameter()方法来读取该配置参数。
9. roles:指定允许调用该Action的安全角色,多个角色之间用,隔开,在处理请求时,RequestProcessor会根据该配置项来决定用户是否有权限调用Action权限。
struts-config.xml中,每个action的配置中都有一个role属性,这个属性中填写一个模块的名称,这样就建立起了action与模块的多对一关系;
扩展struts中的requestProcessor类(注意如果使用tiles框架,需要继承另外一个tiles专用的类),复写其中的processorRole方法(其他方法也很有用,例如preprocess方法,可以设置提交的字符串都为UTF-8,也可以用户写一些系统的访问日志等等),在这个方法中可以取出当前action的模块名称和当前用户的角色,这样就可以实现对于用户的权限限定了。
10. scope:指定ActionForm Bean的存在范围,可选取为request和session,默认为session。
11. type:指定Action类的完整类名。
12. unknown:如果此项为true,表示可以处理用户发出的所有无效的Action URL,默认为false;
13. validate:指定是否要调用Action FormBean的validate方法,默认值为ture.
注:forward、include、type属性只能选中其中一项。
分享到:
相关推荐
2. **Action Mapping**: 这是配置中定义Action与URL路径的映射,使得用户可以通过特定的URL来触发相应的Action。 3. **Interceptor(拦截器)**: 拦截器是Struts2的核心特性,它们按照预设的顺序执行,可以在Action...
安装此插件后,开发者可以在Struts2的Action配置中指定一个模板,这个模板将被Sitemesh自动装饰。 **配置Struts2 Sitemesh插件** 1. 将`struts2-sitemesh-plugin-2.2.1.1.jar`添加到项目的类路径中。 2. 在`struts....
当用户提交的请求参数与Action Mapping的配置不匹配时,框架会尝试进行错误处理,而这个过程中可能引发未授权的远程代码执行。攻击者可以通过发送恶意的HTTP请求,触发这个漏洞,进而执行任意系统命令。 **漏洞扫描...
在Struts2中,注解可以用来替代传统的XML配置文件,使开发者能够更简洁地定义Action的行为和配置信息。 #### 三、创建项目及配置 首先,我们需要按照以下步骤创建一个简单的Web项目并进行基本配置: 1. **创建Web...
首先,Struts2的核心jar包是框架运行的基础,它们提供了Action映射、拦截器、结果类型和其他关键功能。对于Struts2 v2.1.6,以下是一些必要的jar文件: 1. **struts2-core.jar** - 包含Struts2框架的核心组件,如...
9. **Action Mapping**:Action Mapping定义了URL到Action的映射,使得URL可以直接对应到业务逻辑。 10. **Exception Handling**:Struts2提供了全局和局部的异常处理机制,方便捕获和处理运行时异常。 在使用...
- **ActionServlet**:这是Struts框架的核心控制器,负责处理HTTP请求,解析请求参数,并将控制权交给相应的Action。 - **ActionForm**:用于封装用户表单数据,与ActionServlet交互,传递请求参数到业务逻辑层。 ...
总结,`struts-config.xml` 是 Struts 框架的核心配置文件,通过它我们可以设置Action、Form Bean、消息资源、全局转发等关键元素,以实现应用程序的逻辑流程。熟练掌握其配置能极大地提高开发效率和应用质量。
执行流程大致为:用户发起请求,被Struts2过滤器捕获,然后根据struts.xml中的配置找到对应的Action执行,Action执行完成后返回的结果会被映射到相应的视图页面。 在Struts2的基本配置中,有几个重要的配置文件: ...
有关struts2下载组件的具体介绍我就在此略过了,看此文的...<exception-mapping result="client-abort-exception" exception="org.apache.catalina.connector.ClientAbortException"/> <action name="download" class=...
在Struts2框架中,ActionError和ActionMessage是处理用户输入验证和错误反馈的重要组件,它们使得开发者能够优雅地管理应用程序中的错误信息和用户消息。 ActionError类是用来存储错误信息的,它继承自`java.lang....
2. **Action Mapping**:定义了Action与URL之间的映射关系,使得用户可以通过特定的URL来调用对应的Action。 3. **Interceptor(拦截器)**:这是Struts2的一大特色,它可以拦截Action的调用,在执行Action前后执行...
该jar包可以根据数据库表,自动生成action(struts2)/controller(springmvc)、model、service、dao各个层的代码。 实用框架:struts2/springmvc + mybatis + spring 可根据项目需要选择: 框架类型...
7. **创建Action类**:Action类是处理用户请求的中心,它继承自Struts2提供的ActionSupport类。例如: ```java public class HelloWorldAction extends ActionSupport { private String message; public String ...
Action类需要继承自`org.struts2.StrutsAction`或者实现`com.opensymphony.xwork2.Action`接口,并定义相应的方法来响应HTTP请求。 2. **配置文件**:Struts2的配置通常分为两个部分,XML配置(struts.xml或struts....
在Struts中,Action类是业务逻辑的核心组件,它负责处理用户请求并调用相应的服务层方法来完成业务操作。本文将深入探讨Struts Action的配置和使用,以及如何通过源码学习来提升对Struts的理解。 首先,Action配置...
3. **Action Mapping**: 配置文件(通常为struts.xml)中定义了Action与URL的映射关系,以及Action执行后转向的页面或结果。 4. **Model**: 业务模型,通常由JavaBeans或者领域对象组成,负责处理应用程序的业务...
它会解析请求URL,根据Struts2的配置文件(struts.xml或@Action注解)找到对应的Action执行。 - Filter可以进行全局的请求预处理和后处理,比如登录检查、权限验证等,这样可以保持Action的简洁,提高代码的可读性...
Struts框架的核心是ActionServlet和实现Action接口的类。 #### 二、Struts的基本概念 1. **MVC架构**: - **Model(模型)**:表示应用程序的数据部分。 - **View(视图)**:表示应用程序的用户界面。 - **...
这个包提供了Action Mapping、请求处理、拦截器链、结果渲染等关键功能。它使得开发者能够轻松地定义业务逻辑并将其与视图层解耦。 2. **依赖库**: lib目录下的其他jar包主要用于满足Struts2运行时的需求。这些包括...