Struts action-mapping 元素讲解

简介: 本文转自:http://zzx0421.iteye.com/blog/284022   元素中可以包含多个和子元素,他们分别配置局部异常处理和局部转发。attribute设置Action关联的ActionForm在request或者session范围内的key,就是在request或者session共享内的名称。

本文转自:http://zzx0421.iteye.com/blog/284022

  <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属性只能选中其中一项。

 

相关文章
|
Java 开发者
使用filter-mapping控制多个Filter的执行顺序| 学习笔记
快速学习使用filter-mapping控制多个Filter的执行顺序。
189 0
使用filter-mapping控制多个Filter的执行顺序| 学习笔记
|
Java API 容器
Struts2【开发Action】(二)
Struts2【开发Action】
155 0
Struts2【开发Action】(二)
|
Java
Struts2【开发Action】(三)
Struts2【开发Action】
137 0
Struts2【开发Action】(三)
|
Java
Struts2【开发Action】(一)
Struts2【开发Action】
123 0
Struts2【开发Action】(一)
|
XML Java 数据安全/隐私保护
filter和interceptor的区别
filter和interceptor的区别
122 0
|
Java 开发者
使用filter-mapping控制多个Filter的执行顺序|学习笔记
使用filter-mapping控制多个Filter的执行顺序
使用filter-mapping控制多个Filter的执行顺序|学习笔记
|
Java
SpringMVC,JSP里treeselect的value值EL表达式报错!500,property not found on type
treeselect是一个列表选框,value是持久层提供的实际值。如果没有value则无法保存默认回显的值。 <sys:treeselect id="" name="" value="${entity.sPnum}" labelName="" labelValue="" title="" url="" extId="" cssClass="form-control" allowClear="true"/> 这段代码无法正常打开页面,f12报get 500,可以判断是后台出错。
1214 0