action-mappings

该元素用于将Action元素定义到ActionServlet类中,它含有0到多个<action/>元素,其格式如下:

<action-mappings>

<action path="Action请求的相对路径,与页面<html:form>的Action属性值一致"

type="该Action的对应类的全路径"

name="该Action绑定的FormBean,与<form-bean >的Name属性值一致"

<forward name="与Action类中mapping.findForward("mapname")返回的mapname值一致" path="页面跳转的相对路径"/>

</action>

</action-mappings>

每个action子元素可包含一个或多个forward子元素。除了path、type和name属性外,action还具有如下属性:

l         scope:指定ActionForm Bean的作用域(session和request),缺省为session。(可选);

l         input:当Bean发生错误时返回的路径,在validate验证框架中错误显示的页面(可选);

l         classname:指定一个调用这个Action类的ActionMapping类的全名。缺省用org.apache.struts.action.ActionMapping(可选);

l         include:如果没有forward的时候,它起forward的作用(可选);

l         validate:若为true,则会调用ActionForm的validate()方法或调用validate验证,否则不调用,缺省为true(可选)。

forward属性也是可选的。

action元素定义举例如下:

Example1.

Eg2. 有input属性的例子:

<action-mappings>    <action

path="/userAction"

type="com.amigo.struts.action.UserAction"

name="UserForm"

scope="request"

validate = "false"

parameter="method" >

<forward name="error" path="/user/error.jsp" />

<forward name="success" path="/user/success.jsp"/>

<forward name="add" path="/user/addUser.jsp"/>

<forward name="update" path="/user/updateUser.jsp"/>

<forward name="list" path="/user/userList.jsp"/>

</action>

</action-mappings>

Eg3. 仅有JSP的action元素:

<action-mappings>

<action path="/calcAction"

type="com.amigo.struts.action.CalcAction"

name="CalcForm"

scope="request"

validate="true"

input="/index.jsp">

<forward name="success" path="/success.jsp"/>
    <forward name="error" path="/error.jsp"/>

</action>

</action-mappings>

首先,ActionServlet接到请求后调用ForwardAction的execute()方法,execute()根据配置的parameter属性值来forward到那个URI。

<action path="/menu"

parameter="/default.jsp"

type="org.apache.struts.actions.ForwardAction" />

这样做的效果是:没有任何form被实例化,比较现实的情形可能是form在request更高级别的范围中定义;或者这个action被用作在应用程序编译好后充当系统参数,只需要更改这个配置文件而不需要重新编译系统。

最新文章

  1. centos 7 install python spynner
  2. 前端常用的几个js判断(一)
  3. svn命令
  4. java中Thread的 interrupt异常处理
  5. CVE
  6. 洛谷P1108 低价购买
  7. hdu 3549 Flow Problem
  8. CoreText 使用教程
  9. Apache ab 测试工具使用(一)
  10. Qt编程之通过鼠标滚轮事件缩放QGraphicsView里面的Item
  11. Mac 下纯lua(一)
  12. MAC OS 常用软件及开发工具
  13. JS-将input输入框写入的小写字母全部转换成为大写字母的JS代码
  14. Android&#160;stdio打开特定网页
  15. [leetcode-526-Beautiful Arrangement]
  16. wkhtmltopdf
  17. Spring实战思维导图
  18. 第24课 可变参数模板(5)_DllHelper和lambda链式调用
  19. Mybatis 加载 Mapper配置的四种方式
  20. css兼容技巧

热门文章

  1. 带你了解数据库中事务的ACID特性
  2. Spring4.x所有Maven依赖
  3. Nginx+Memcached+Tomcat集群配置
  4. 亿级别记录的mongodb批量导入Es的java代码完整实现
  5. echarts 雷达图的个性化设置
  6. Fiddler实现手机抓包——小白入门(转载csdn)
  7. UML——六大关系整理
  8. Swift基础语法之变量函数
  9. awk去重以某列重复的行
  10. 关于Win8快速启动失效解决