Struts-config.xml配置文件《action-mappings》元素的详解
原文地址: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》元素的详解相关推荐
- 你真的了解Maven pom.xml 的配置吗?【详解maven pom】
Maven POM POM( Project Object Model,项目对象模型 ) 是 Maven 工程的基本工作单元,是一个XML文件,包含了项目的基本信息,用于描述项目如何构建,声明项目依赖 ...
- Maven配置文件POM属性最全详解
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/200 ...
- resultmap的写法_mybatis的mapper.xml中resultMap标签的使用详解
1.前言 最近博主在做一个ssm框架的共享汽车管理系统,其中,数据库字段设计的有下划线方式,a_username,然后在写mapper.xml里面的sql语句的时候,一直出现查询语句查询的值为null ...
- Elasticsearch之settings和mappings(图文详解)
Elasticsearch之settings和mappings的意义 简单的说,就是 settings是修改分片和副本数的. mappings是修改字段和类型的. 记住,可以用url方式来操作它们,也 ...
- viper4android io错误,golang常用库之配置文件解析库-viper使用详解
一.viper简介 viper 配置管理解析库,是由大神 Steve Francia 开发,他在google领导着 golang 的产品开发,他也是 gohugo.io 的创始人之一,命令行解析库 c ...
- C++ STL list添加(插入)元素方法详解
C++ STL list添加(插入)元素方法详解 主要内容 主要内容 参考链接
- python修改xml标签的值_对python修改xml文件的节点值方法详解
这是我的xml文件结构 <?xml version='1.0' encoding='utf-8'?> JPEGImages train_2018-05-08_1000.jpg D:\all ...
- 自动化测试框架[Cypress元素操作详解]
前提 已经熟练掌握了Cypress的基本知识,请参考自动化测试框架[Cypress概述]和自动化测试框架[各自动化测试框架比较] 已经熟练掌握Cypress环境配置,请参考自动化测试框架[Cypres ...
- CSS之排列系列--块级元素、内联元素、内联块元素--区别/详解
原文网址:CSS之排列系列--块级元素.内联元素.内联块元素--区别/详解_IT利刃出鞘的博客-CSDN博客 简介 本文介绍CSS的块级元素(block).内联元素(inline)和内联块元素(inl ...
- html右侧浮动菜单,HTML+CSS:css元素浮动详解,使用浮动制作导航栏菜单
原标题:HTML+CSS:css元素浮动详解,使用浮动制作导航栏菜单 今天这篇文章我们来说一下css的浮动属性(float),给块状元素添加float属性可以使其转变为行内元素,也就是我们所说标签对象 ...
最新文章
- SVN不是配置管理系统
- 小程序使用wx.uploadFile上传图片报错:uploadFile:fail Error: connect ECONNREFUSED
- retain/copy/assign区别
- 报错显示从客户端检测到有潜在危险的Request.Form 值
- 经典商业模式案例第1例:校园O2O
- 交换机端口tagged与untagged
- java 文件 锁定,Java中的文件锁定
- matlab拉依达法,基于拉依达准则的奇异数据滤波法.ppt
- Java8的 stream对list数据去重,使用filter()过滤列表,list转map,joining使用,统计分组合并
- TransE论文第4节:实验
- 解魔方机器人一秒搞定魔方
- mpv播放器 —— 一个免费的、开源的、跨平台的媒体播放器
- HRM人力资源系统-Day05
- 国脚冯潇霆被广州恒大下放预备队
- VS提示:已引发异常
- python发送文件到指定的邮箱_怎么用qq邮箱发文件-用python发送139邮箱电子邮件和短信通知,让你不再错过重要信息...
- Django框架介绍之cookie与session
- matlab用app建立神经网络,Matlab Deep Network Designer APP搭建神经网络及相关函数讲解...
- 90 后程序员:“创业一时爽,一直创业一直爽”
- Vue框架---Vue模板语法(二)
热门文章
- 停止Java线程,小心interrupt()方法
- code.php验证码,php 验证码 实例
- mysql 加1_[MySQL场景系列之三] 加一操作
- 每天一道LeetCode-----移除有序链表中的重复节点
- 每天一道LeetCode-----寻找地增序列中第一个大于等于目标元素的位置
- CLI or GUI --- 要高效还是要易用? (该文作者的功底真的很深厚啊)
- 2440 nand flash和nor flash上启动
- Fast R-CNN 个人理解
- c语言程序设计现代方法(2th)第12章答案(自己胡乱编写的答案,持续更新)
- 内联函数的定义可能不止一次