Struts功能详解——ActionMapping对象

        Struts功能详解——ActionMapping对象

ActionMapping描述了struts中用户请求路径和Action的映射关系,在struts中每一个ActionMapping都是经过path属性和一个特定的用户请求URL关联。它负责转发用户请求给具体的Action,同时还转发了其余的一些相关信息,这种请求和处理动做之间的映射关系保存在struts-config.xml这个配置文件中,在web服务器初始化的时候,会加载这个配置文件,struts给每个Action都建立一个ActionMapping对象,用来提供给Action使用,当ActionServlet转发请求的时候,ActionMapping对象会被做为参数传递给Action的execute()方法。
 
 
 
在一个web应用中,每一个资源都必须经过URI来进行引用。 资源包括HTML页面,JSP页面,和定制动做。为了给定制动做一个 URI或者说路径,Struts框架提供了一个 ActionMapping对象。

ActionMaping也是Struts的一个核心对象,一般咱们不用手写ActionMapping类,它只须要在配置文件中配置就行。html

ActionMapping如何配置:

ActionMapping在配置文件Strtus-config.xml中配置,配置格式以下:node

 

  1. <struts-config>  
  2. <action-mappings>  
  3. <actionpathactionpath="/login"  
  4. type="com.bjpowernode.struts.LoginAction"  
  5. name="loginForm"                  
  6. scope="request"                  
  7. >  
  8. <forwardnameforwardname="success" path="/login_success.jsp" />  
  9. <forwardnameforwardname="error"path="/login_error.jsp"/>                  
  10. </action>  
  11. </action-mappings>  
  12. </struts-config>  

 

其中<action>标签是为每个独立的action配置,配置他们的访问方式和访问控制。web

<forward>标签配置action执行完返回之后,须要到达的地方。apache

其中name scope type分别是actionMapping的一个属性,它对应着action的须要访问的位置和数据来源,还有数据范围。api

 

ActionMapping的功能:

ActionMapping的主要功能就是管理Action的信息和管理Action执行完成之后的ActionForward的信息。服务器

它将特定请求映射到特定Action的相关信息存储ActionMapping中,ActionServelt将ActionMapping传送到Action类execute()方法,Action将使用ActionMapping的findForward()方法,此方法返回一个指定名称的ActionForward,这样Action就完成了本地转发。若没有找到具体的ActionForward,就返回一个null.app

 

ActionMapping的方法:

publicExceptionConfig findException(Class type) ,查找异常对象框架

public ActionForwardfindForward(String name) 可在映射中动态添加ActionForward:jsp

public String[]findForwards()找到一个Action能够使用的actionForward列表spa

public ActionForwardgetInputForward() 获得本action的输入ActionForard.

ActionMapping继承于org.apache.struts.config.ActionConfig

 

总之,对于ActionMapping来讲,起算是一个web控制层的数据字典,这个数据字典里面存放在ActionActionForward的信息,在程序执行的过程当中,查阅这个数据字典,而后达到相应的位置,执行完成之后,再查询这个数据字典,转发特定的信息。

相关文章
相关标签/搜索