Structs2动态方法调用
第一种:指定Method属性(Action比较多)
<!-- 声明包 -->
<package name="user" extends="struts-default">
<!-- 定义action -->
<action name="first" class="com.sxt.action.UserAction" method="first" >
<!-- 定义处理成功后的映射页面 -->
<result name="first">first.jsp</result>
</action>
<action name="second" class="com.sxt.action.UserAction" method="second" >
<result name="second">second.jsp</result>
</action>
<action name="third" class="com.sxt.action.UserAction" method="third" >
<result name="third">first.jsp</result>
</action>
</package>
第二种:感叹号方式(需要开启开关)官网不推荐使用这种方式
(1)Structs2中开启开关和定义Action
<constant name="struts.enable.DynamicMethodInvocation" value="true" />
<action name="userAction" class="com.sxt.action.UserAction">
<!-- 定义处理成功后的映射页面 -->
<result name="add">user_add.jsp</result>
<result name="update">user_update.jsp</result>
</action>
(2)index.jsp中
<a href="userAction!add">添加用户</a>
<a href="userAction!update">修改用户</a>
(3)创建名为UserAction的Action对象
public class UserAction extends ActionSupport {
public String add(){
return "add";
}
public String update(){
return "update";
}
}
第三种:通配符方式(官方推荐使用)
(1)jsp页面中
<a href="useraddAction">添加用户</a>
<a href="userupdateAction!">修改用户</a>
(2)Structs2.xml中定义Action
<action name="user*Action" class="com.sxt.action.UserAction" method="{1}">
<!-- 定义处理成功后的映射页面 -->
<result name="add">user_add.jsp</result>
<result name="update">user_update.jsp</result>
</action>
Structs2动态方法调用的更多相关文章
- Struts2学习笔记 - Action篇<动态方法调用>
有三种方法可以使一个Action处理多个请求 动态方法调用DMI 定义逻辑Acton 在配置文件中使用通配符 这里就说一下Dynamic Method nvocation ,动态方法调用,什么是动态方 ...
- 第三章Struts2 Action中动态方法调用、通配符的使用
01.Struts 2基本结构 使用Struts2框架实现用登录的功能,使用struts2标签和ognl表达式简化了试图的开发,并且利用struts2提供的特性对输入的数据进行验证,以及访问Servl ...
- Struts2 动态方法调用
01.Struts 2基本结构 使用Struts2框架实现用登录的功能,使用struts2标签和ognl表达式简化了试图的开发,并且利用struts2提供的特性对输入的数据进行验证,以及访问Servl ...
- struts之动态方法调用使用通配符
一.DMI动态方法调用的其中一种改变form表单中action属性的方式已经讲过了.还有两种,一种是改变struts.xml配置文件中action标签中的method属性,来指定执行不同的方法处理不同 ...
- struts之动态方法调用改变表单action属性
一.动态方法调用(DMI:Dynamic Method Invocation) ⒈struts2中同样提供了这个包含多个逻辑业处理的Action,这样就可以在一个Action中进行多个业务逻辑处理 ...
- struts2DMI(动态方法调用)
struts2动态方法调用共有三种方式: 1.通过action元素的method属性指定访问该action时运行的方法 <package name="action" exte ...
- Struts2 Action中动态方法调用、通配符的使用
一.Struts2执行过程图: 二.struts2配置文件的加载顺序 struts-default.xml---struts-plugin.xml---struts.xml 具体步骤: 三.Actio ...
- Struts(八):动态方法调用
动态方法调用:通过url动态调用action中的方法. 默认情况下,Struts的动态方法调用处于禁用状态. 测试定义一个action类: package com.dx.actions; public ...
- Struts 2之动态方法调用,不会的赶紧来
学习Struts2框架以来为了减少Action 的数量,我们可以使用动态方法进行处理. 动态方法调用(Dynamic Method Invocation,DMI)是指表单元素的Action并不是直接等 ...
随机推荐
- DDD~领域层
回到目录 再论Domain与Infrastructure 在面向领域的设计中,领域层(Domain)实现上是位于最底层的,其它层有对它的引用,包括基础设施层(Infrastructure)也是去引用领 ...
- 大叔最新课程~EF核心技术剖析
EF核心技术剖析介绍 数据上下文(共享对象与实例对象的选择) 自动初始化(Initializer初始化的几种方式) 数据迁移(Migrations如何使用及其重要作用) 实体关系映射(一对一,一对多, ...
- 03- Shell脚本学习--字符串和数组
字符串 字符串是shell编程中最常用最有用的数据类型(除了数字和字符串,也没啥其它类型好用了),字符串可以用单引号,也可以用双引号,也可以不用引号.单双引号的区别跟PHP类似: 单双引号的区别: 双 ...
- vagrant homestead laravel 编程环境搭建
这里面其实坑不少的,首先介绍 VirtualBox 虚拟机,windows下安装linux必须用的一个工具 vagrant 封装虚拟机的一个软件,可以设置好系统,安装好软件,什么时候用,直接导入就行 ...
- salesforce 零基础开发入门学习(十)IDE便捷小知识
在这里介绍两个IDE的便捷开发的小知识. 一) 本地调试 由于salesforce代码只能提交以后才能调试,所以很多时候调试代码很麻烦.新版增加了一个特性:即可以在本地调试相关的代码或者查看相关代码运 ...
- iOS-应用上架
其实挺讨厌苹果这一套上架机制,审核周期长,而且网速又慢,但又没办法,只能上架到AppStore,无奈. 上架前需要确保应用图标齐全,并在Info.plist中的Icon files添加了png图片,不 ...
- Design3:使用HierarchyID构建数据的分层结构
1,传统的分层结构是父子结构,表结构中有一个ParentID字段自引用表的主键,表示“归属”关系,例如 create table dbo.emph ( ID int not null primary ...
- KendoUI系列:TabStrip
<link href="@Url.Content("~/Content/kendo/2014.1.318/kendo.common.min.css")" ...
- CSS层叠
前面的话 层叠样式表CSS最基本的一个特性就是层叠.冲突的声明通过层叠进行排序,由此确定最终的文档表示.而这个过程的核心就是选择器及其相关声明的特殊性.重要性.来源及继承机制.本文将详细介绍CSS层叠 ...
- PHP获取图片宽度高度、大小尺寸、图片类型、用于布局的img属性
//php自带函数 getimagesize()$img_info = getimagesize('tomener.jpg'); echo '<pre>'; print_r($img_in ...