第一种:指定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动态方法调用的更多相关文章

  1. Struts2学习笔记 - Action篇<动态方法调用>

    有三种方法可以使一个Action处理多个请求 动态方法调用DMI 定义逻辑Acton 在配置文件中使用通配符 这里就说一下Dynamic Method nvocation ,动态方法调用,什么是动态方 ...

  2. 第三章Struts2 Action中动态方法调用、通配符的使用

    01.Struts 2基本结构 使用Struts2框架实现用登录的功能,使用struts2标签和ognl表达式简化了试图的开发,并且利用struts2提供的特性对输入的数据进行验证,以及访问Servl ...

  3. Struts2 动态方法调用

    01.Struts 2基本结构 使用Struts2框架实现用登录的功能,使用struts2标签和ognl表达式简化了试图的开发,并且利用struts2提供的特性对输入的数据进行验证,以及访问Servl ...

  4. struts之动态方法调用使用通配符

    一.DMI动态方法调用的其中一种改变form表单中action属性的方式已经讲过了.还有两种,一种是改变struts.xml配置文件中action标签中的method属性,来指定执行不同的方法处理不同 ...

  5. struts之动态方法调用改变表单action属性

      一.动态方法调用(DMI:Dynamic Method Invocation) ⒈struts2中同样提供了这个包含多个逻辑业处理的Action,这样就可以在一个Action中进行多个业务逻辑处理 ...

  6. struts2DMI(动态方法调用)

    struts2动态方法调用共有三种方式: 1.通过action元素的method属性指定访问该action时运行的方法 <package name="action" exte ...

  7. Struts2 Action中动态方法调用、通配符的使用

    一.Struts2执行过程图: 二.struts2配置文件的加载顺序 struts-default.xml---struts-plugin.xml---struts.xml 具体步骤: 三.Actio ...

  8. Struts(八):动态方法调用

    动态方法调用:通过url动态调用action中的方法. 默认情况下,Struts的动态方法调用处于禁用状态. 测试定义一个action类: package com.dx.actions; public ...

  9. Struts 2之动态方法调用,不会的赶紧来

    学习Struts2框架以来为了减少Action 的数量,我们可以使用动态方法进行处理. 动态方法调用(Dynamic Method Invocation,DMI)是指表单元素的Action并不是直接等 ...

随机推荐

  1. excel表格中如何将内容粘贴到筛选后的可见单元格[转]

    默认情况下,筛选后excel表格进行复制粘贴,会贴到隐藏的表格. 可以添加两个辅助列来完成操作:1.在筛选前在表格右边添加"辅助1"列,在第二行输入1,按Ctrl+鼠标左键往下拉到 ...

  2. lua实现深度拷贝table表

    lua当变量作为函数的参数进行传递时,类似的也是boolean,string,number类型的变量进行值传递.而table,function,userdata类型的变量进行引用传递.故而当table ...

  3. 《PHP Manual》阅读笔记1

    1.phpinfo() 从 PHP 获取系统信息. 2.$_SERVER 只是 PHP 自动全局化的变量之一.它包含了 web 服务器提供的所有信息,被称为超全局变量. 3.htmlspecialch ...

  4. 第七节:Class与Style绑定

    1.绑定class,v-bind:class  简写为::class 对象方式: <!-- 绑定一个class对象,也可以绑定data中的对象--> <span v-bind:cla ...

  5. Java 线程 — ConcurrentLinkedQueue

    ConcurrentLinkedQueue 在考虑并发的时候可以先考虑单线程的情况,然后再将并发的情况考虑进来. 比如ConcurrentLinkedQueue: 先考虑单线的offer 再考虑多线程 ...

  6. 贪心算法-Huffman编码

    伪代码: 例子:

  7. Cocos2d-x 3.2 学习笔记(十)Joystick 搖杆控件

    最近想做格鬥遊戲,那麼就要有搖杆控件,不想去看別人的代碼就自己寫了個搖杆控件,實現起來很簡單. 話不多說,看代碼: #ifndef __Joystick__ #define __Joystick__ ...

  8. ASP.NET将Session保存到数据库中

    因为ASP.NET中Session的存取机制与ASP相同,都是保存在进行中, 一旦进程崩溃,所有Session信息将会丢失,所以我采取了将Session信息保存到SQL Server中,尽管还有其它的 ...

  9. 有关PHP、HTML单引号、双引号转义以及转成HTML实体的那些事!

    一.单引号和双引号转义在PHP的数据存储过程中用得比较多,即往数据库里面存储数据时候需要注意转义单.双引号: 先说几个PHP函数: 1.addslashes — 使用反斜线引用(转义)字符串: 返回字 ...

  10. 动态单链表的传统存储方式和10种常见操作-C语言实现

    顺序线性表的优点:方便存取(随机的),特点是物理位置和逻辑为主都是连续的(相邻).但是也有不足,比如:前面的插入和删除算法,需要移动大量元素,浪费时间,那么链式线性表 (简称链表) 就能解决这个问题. ...