ActionMappings的详细讲解

  ActionMappings算是一个web控制层的数据字典,这个数据字典里面存放在ActionActionForward的信息,在程序执行的过程中,查阅这个数据字典,然后达到相应的位置,执行完成以后,再查询这个数据字典,转发特定的信息。

       在一个web应用中,每个资源都必须通过URI来进行引用。 资源包括HTML页面、JSP页面和定制动作。为了给定制动作一个 URI或者说路径,Struts框架提供了一个 ActionMapping对象。

       ActionMapingStruts的一个核心对象,通常我们不用手写ActionMapping类,它只需要在配置文件中配置就行。


一、ActionMapping配置:

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

[html]  view plain  copy
 print ? 在CODE上查看代码片 派生到我的代码片
  1. <action-mappings >  
  2.     <action  
  3.       attribute="insertForm"  
  4.       input="/JSP/Insert.jsp"  
  5.       name="insertForm"  
  6.       path="/insert"  
  7.       scope="request"  
  8.       type="com.yourcompany.struts.action.InsertAction">  
  9.       <forward name="success" path="/JSP/Confirm.jsp" />  
  10.       <forward name="failure" path="/JSP/Insert.jsp" redirect="true" />  
  11.     </action>  
  12. </action-mappings>  

其中

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

<forward>标签配置action执行完返回以后,需要到达的地方;

name:Action使用到的FormBean的名称,对应Strtus-config.xml的<form-beans >标签中子标签<form-bean>的name属性;

input:输入页面;

path:表单提交的“action”属性;

scope:通过FormBean传过来的值的作用域;

attribute:对应scope中FormBean的别名;

type:表单提交后要访问的资源;

forward:Action的execute()中通过调用mapping.findForward(forward的name属性名)跳转到不同页面。


 

二、ActionMapping的功能:

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


三、ActionMapping的方法:

public ExceptionConfig findException(Class type) ,查找异常对象;

public ActionForward findForward(String name) 可在映射中动态添加ActionForward;

public String[] findForwards()找到一个Action可以使用的actionForward列表;

public ActionForward getInputForward() 得到本action的输入ActionForward;

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


  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值