理解ActionMapping:
struts-config.xml文件中每个<action>标签都对应一个ActionMapping实例对象。<action-mappings>将特定请求映射到特定Action的相关信息存储在ActionMapping中,ActionServelt将ActionMapping传送到Action类的execute()方法,Action将使用ActionMapping的findForward()方法,此方法返回一个指定名称的ActionForward,这样Action就完成了本地转发。若没有找到具体的ActionForward,就返回一个null.
各属性的含义如下:
* path: 指定该Action接收的特定请求
* type: 指定该Action的类绝对路径
* forward: 只作页面跳转时可使用,用来减少Action数量.注意:这个不是<forward>标签
如:
<action path="/login1"
forward="/login.jsp">
</action>
上面的配置表明该Action接收页面的login1.do请求,然后不作任何逻辑处理直接跳转到login.jsp页面, 这样就避免了只为跳转而写Action
* name: 指定该Action关联的ActionForm
* scope: 默认为session,一般不是session范围要用到的数据不要设到session中,这样会无谓增加session负载,故尽量设成scope=request
* validate: 默认为false,设为true时会在页面收集数据前自动调用ActionForm中的validate方法
* input: 错误处理,如:
<action path="/login1"
type="cn.huan.struts.LoginAction"
name="loginForm"
scope="request"
validate="true"
input="/login1.jsp">
<forward name="success" path="/login_success.jsp"/>
</action>
上面的input=/login1.jsp属性表明该Action处理错误后跳转到login1.jsp页面(path属性表明该Action接收页面login1.do请求,type指明了该Action的类位于cn.huan.struts.LoginAction,name指明该Action关联的ActionForm,scope表明关联的ActionForm的作用范围为request,validate值为true表明收集数据时ActionForm会调用validate方法进行验证,<forward>标签配置了跳转路径)
* unkonow: 默认情况为false,页面的.do请求提交时就会到配置文件中找相应path的action,有则调用相应的Action,若没有就会到unknow为true<action>的地方处理该不存在的.do方法
<action path="/testunknow"
unknown="true"
forward="/testunknow.jsp">
</action>
上面的配置表明,如果客户端发送了没有定义的Action请求,则会交给该匿名ActionMapping来处理(上例是直接跳转到testunknow.jsp页面了)
ActionMapping配置综合实例:
<action-mappings>
<action path="/login"
type="cn.huan.struts.LoginAction"
name="loginForm"
scope="request"
>
<forward name="success" path="/login_success.jsp"/>
<!--
<forward name="error" path="/login_error.jsp"/>
-->
<forward name="error" path="/login.jsp"/>
</action>
<action path="/login1"
forward="/login.jsp">
</action>
<action path="/login2"
type="cn.huan.struts.LoginAction"
name="loginForm"
scope="request"
>
<forward name="success" path="/login_success.jsp"/>
<!--
<forward name="error" path="/login_error.jsp"/>
-->
<forward name="error" path="/login_by_strutstag.jsp"/>
</action>
<action path="/testunknow"
unknown="true"
forward="/testunknow.jsp">
</action>
<action path="/loginstrutstag"
forward="/login_by_strutstag.jsp">
</action>
</action-mappings>
........
分享到:
相关推荐
6. **配置文件**:如struts-config.xml,用于配置Action、ActionForm、ActionMapping等,是Struts1应用的基础配置。 7. **Interceptor(拦截器)**:在1.3.x版本之后引入,允许在Action调用前后插入自定义逻辑,...
- **struts-config.xml**:框架的主要配置文件,用于定义ActionMapping、FormBeans、DataSources等。 - **web.xml**:Web应用的部署描述符,配置ActionServlet和过滤器。 3. **视图技术**: - JSP(JavaServer ...
2. **ActionMapping**:定义了Action与请求URL之间的映射关系,包括Action的名称、结果代码等信息。 3. **Result**:Action执行后的结果,可以是重定向、转发到JSP页面、发送HTTP响应等。结果由Result类型和结果...
6. **Struts-config.xml**:框架的配置文件,包含Action、ActionForm、ActionMapping和其他配置信息。 7. **JSP和Tags**:Struts提供了丰富的JSP标签库,如logic、bean、html和nested标签,使得开发者能更方便地...
- **ActionMapping**:ActionMapping是Action与URL的映射关系,可以使用XML配置或注解实现。 - **ValueStack**:ValueStack是OGNL表达式处理的对象栈,它保存了请求中的所有数据,使得在视图和控制器之间共享数据变...
在这个文件中,你可以定义ActionMapping,将URL映射到特定的Action,设置ActionForm用于数据绑定,以及配置其他如数据源、拦截器等元素。 3. **ActionForm**:这是模型层和控制器之间传递数据的载体,用于收集用户...
6. **Struts-config.xml**:配置文件,定义了应用的配置信息,包括Action、ActionForm、ActionMapping等。 **Struts 1.2.9中的改进和特性:** 1. **标签库**:提供了一系列JSP标签,简化了视图层的开发,如logic、...
通过阅读源码,我们可以深入理解Struts的内部工作原理,包括ActionServlet、RequestProcessor、ActionForm、ActionMapping等关键类的实现,以及各种拦截器(Interceptor)的工作方式。 学习和使用“struts-1.2.9-...
6. Struts配置文件(struts-config.xml):定义了应用程序的结构,包括Action、ActionForm、ActionMapping等元素的配置。 7. Tiles框架集成:Struts 1.2.x版本中包含了Tiles框架,它提供了一种组织和重用页面布局的...
MYECLIPS--STRUTS教程--PDF是一个针对初学者的指南,旨在引导用户了解并掌握Struts框架的基础知识。 本教程首先会介绍Struts的基本概念,包括其历史背景和在Java Web开发中的重要性。然后,它会详细讲解如何在...
6. **配置文件**:如 `struts-config.xml`,它是 Struts 的核心配置文件,定义了 Action、ActionForm、ActionMapping 和其他组件的配置信息。 7. **国际化与本地化支持**:Struts 支持多语言应用,通过资源文件提供...
2. **配置文件详解**:Struts的配置文件通常为struts-config.xml,其中定义了ActionMapping、ActionForm、Action和数据源等元素。理解并熟练编写这些配置是使用Struts的关键。 3. **Struts的MVC实现**:模型部分...
Struts 1.x是Struts的第一个主要版本,它的核心组件包括ActionServlet、ActionForm、ActionMapping和Tiles等。以下是对这两个版本及其相关知识点的详细解释: 1. **ActionServlet**:这是Struts的核心控制器,它是...
- `struts2-struts1-plugin`: 支持与Struts1的互操作性。 由于`doc`目录的HTML文件被删除,你可能无法直接查看这些组件的官方文档,但你可以在Struts2的官方网站或者相关的在线文档资源中找到完整的帮助信息。此外...
2. **ActionMapping**:映射用户的请求到相应的Action,定义了Action类的实例化和执行过程。在Struts2中,这部分功能主要由配置文件或拦截器来完成。 3. **Interceptor(拦截器)**:拦截器是Struts2中的重要概念,...
11. **ActionMapping**:ActionMapping对象负责映射请求URL到具体的Action,通过struts-config.xml配置,可以指定Action的执行路径、转发目标等。 12. **Plug-in架构**:Struts1支持插件式开发,开发者可以编写...
6. **配置文件**:Struts2的配置文件通常为struts.xml,它定义了Action、ActionMapping、Result以及拦截器链等。这个配置文件可以集中管理整个应用的设置,也可以通过注解方式来简化配置。 7. **插件系统**:Struts...
1. **struts.jar**:核心库,实现了Struts框架的基本功能,如ActionServlet、Form Beans、ActionMapping等。 2. **commons-logging.jar**:Apache Commons Logging,提供日志服务,允许开发者选择不同的日志实现。 3...
学习Struts API中文版,开发者可以深入了解每个类和接口的功能,例如ActionServlet的工作原理、Action的生命周期、如何配置ActionMapping,以及如何利用Struts标签库构建用户界面。通过熟练掌握这些知识点,开发人员...
设置JavaBean的属性值,常用于配置数据源参数、ActionMapping扩展属性或全局前向的参数。 除了上述元素,`struts-config.xml`还允许定义其他元素,如`<action-forward>`用于定义Action内部的转发,以及`<message-...