原文地址:http://blog.163.com/sara1124@126/blog/static/11291097020105125537114/

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被用作在应用程序编译好后充当系统参数,只需要更改这个配置文件而不需要重新编译系统。

转载于:https://www.cnblogs.com/jearay/p/3715771.html

Struts-config.xml配置文件《action-mappings》元素的详解相关推荐

  1. 你真的了解Maven pom.xml 的配置吗?【详解maven pom】

    Maven POM POM( Project Object Model,项目对象模型 ) 是 Maven 工程的基本工作单元,是一个XML文件,包含了项目的基本信息,用于描述项目如何构建,声明项目依赖 ...

  2. Maven配置文件POM属性最全详解

    <project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/200 ...

  3. resultmap的写法_mybatis的mapper.xml中resultMap标签的使用详解

    1.前言 最近博主在做一个ssm框架的共享汽车管理系统,其中,数据库字段设计的有下划线方式,a_username,然后在写mapper.xml里面的sql语句的时候,一直出现查询语句查询的值为null ...

  4. Elasticsearch之settings和mappings(图文详解)

    Elasticsearch之settings和mappings的意义 简单的说,就是 settings是修改分片和副本数的. mappings是修改字段和类型的. 记住,可以用url方式来操作它们,也 ...

  5. viper4android io错误,golang常用库之配置文件解析库-viper使用详解

    一.viper简介 viper 配置管理解析库,是由大神 Steve Francia 开发,他在google领导着 golang 的产品开发,他也是 gohugo.io 的创始人之一,命令行解析库 c ...

  6. C++ STL list添加(插入)元素方法详解

    C++ STL list添加(插入)元素方法详解 主要内容 主要内容 参考链接

  7. python修改xml标签的值_对python修改xml文件的节点值方法详解

    这是我的xml文件结构 <?xml version='1.0' encoding='utf-8'?> JPEGImages train_2018-05-08_1000.jpg D:\all ...

  8. 自动化测试框架[Cypress元素操作详解]

    前提 已经熟练掌握了Cypress的基本知识,请参考自动化测试框架[Cypress概述]和自动化测试框架[各自动化测试框架比较] 已经熟练掌握Cypress环境配置,请参考自动化测试框架[Cypres ...

  9. CSS之排列系列--块级元素、内联元素、内联块元素--区别/详解

    原文网址:CSS之排列系列--块级元素.内联元素.内联块元素--区别/详解_IT利刃出鞘的博客-CSDN博客 简介 本文介绍CSS的块级元素(block).内联元素(inline)和内联块元素(inl ...

  10. html右侧浮动菜单,HTML+CSS:css元素浮动详解,使用浮动制作导航栏菜单

    原标题:HTML+CSS:css元素浮动详解,使用浮动制作导航栏菜单 今天这篇文章我们来说一下css的浮动属性(float),给块状元素添加float属性可以使其转变为行内元素,也就是我们所说标签对象 ...

最新文章

  1. SVN不是配置管理系统
  2. 小程序使用wx.uploadFile上传图片报错:uploadFile:fail Error: connect ECONNREFUSED
  3. retain/copy/assign区别
  4. 报错显示从客户端检测到有潜在危险的Request.Form 值
  5. 经典商业模式案例第1例:校园O2O
  6. 交换机端口tagged与untagged
  7. java 文件 锁定,Java中的文件锁定
  8. matlab拉依达法,基于拉依达准则的奇异数据滤波法.ppt
  9. Java8的 stream对list数据去重,使用filter()过滤列表,list转map,joining使用,统计分组合并
  10. TransE论文第4节:实验
  11. 解魔方机器人一秒搞定魔方
  12. mpv播放器 —— 一个免费的、开源的、跨平台的媒体播放器
  13. HRM人力资源系统-Day05
  14. 国脚冯潇霆被广州恒大下放预备队
  15. VS提示:已引发异常
  16. python发送文件到指定的邮箱_怎么用qq邮箱发文件-用python发送139邮箱电子邮件和短信通知,让你不再错过重要信息...
  17. Django框架介绍之cookie与session
  18. matlab用app建立神经网络,Matlab Deep Network Designer APP搭建神经网络及相关函数讲解...
  19. 90 后程序员:“创业一时爽,一直创业一直爽”
  20. Vue框架---Vue模板语法(二)

热门文章

  1. 停止Java线程,小心interrupt()方法
  2. code.php验证码,php 验证码 实例
  3. mysql 加1_[MySQL场景系列之三] 加一操作
  4. 每天一道LeetCode-----移除有序链表中的重复节点
  5. 每天一道LeetCode-----寻找地增序列中第一个大于等于目标元素的位置
  6. CLI or GUI --- 要高效还是要易用? (该文作者的功底真的很深厚啊)
  7. 2440 nand flash和nor flash上启动
  8. Fast R-CNN 个人理解
  9. c语言程序设计现代方法(2th)第12章答案(自己胡乱编写的答案,持续更新)
  10. 内联函数的定义可能不止一次