一个Action多个方法的调用

在大家写Action的时候,配置struts2.xml文件的时候我们大家都知道需要method={1}这个属性但是我们有的时候并不清楚到底他是什么意思。下面我总结了下Action中的方法调用的方法,希望能帮到大家理解!

具体的调用方式:(一共三种方式)

* 方法的动态调用

* 在<action>中配置method属性

* 使用通配符

①方法的动态调用方式:

action名称+!+方法名称+后缀

<a href="user!add.action">添加用户</a><br>

<a href="user!del.action">删除用户</a><br>

<a href="user!update.action">修改用户</a><br>

<a href="user!list.action">查询用户</a><br>

!!动态调用参数配置,默认为true,可以调用,否则不能调用

<constant name="struts.enable.DynamicMethodInvocation" value="false"/>

!!Action中的所有方法必须和execute方法一致(参数,返回值,异常最好也一样)

②在<action>标签中配置method属性

<package name="user-package" extends="struts-default">
		<!--
		<action name="add" class="com.bjpowernode.struts2.UserAction" method="add">
			<result>/success.jsp</result>
		</action>

		<action name="del" class="com.bjpowernode.struts2.UserAction" method="del">
			<result>/success.jsp</result>
		</action>

		<action name="update" class="com.bjpowernode.struts2.UserAction" method="update">
			<result>/success.jsp</result>
		</action>

		<action name="list" class="com.bjpowernode.struts2.UserAction" method="list">
			<result>/success.jsp</result>
		</action>
		 -->	

		<action name="addUser" class="com.bjpowernode.struts2.UserAction" method="add">
			<result>/success.jsp</result>
		</action>

		<action name="delUser" class="com.bjpowernode.struts2.UserAction" method="del">
			<result>/success.jsp</result>
		</action>

		<action name="updateUser" class="com.bjpowernode.struts2.UserAction" method="update">
			<result>/success.jsp</result>
		</action>

		<action name="listUser" class="com.bjpowernode.struts2.UserAction" method="list">
			<result>/success.jsp</result>
		</action>
	</package>

③使用通配符

具体配置

<action name="*User" class="com.bjpowernode.struts2.UserAction" method="{1}">

<result>/{1}Success.jsp</result>

</action>

在Struts2的<action>标签class、name、method和result标签上都可以使用通配符

通配符的作用就是为了减少配置量,通配符需要建立在约定的基础上

一个Action多个方法的调用

时间: 2024-10-05 10:40:33

一个Action多个方法的调用的相关文章

Action中动态方法的调用 Action中通配符的使用 Result的配置

   Action中动态方法的调用 动态方法调用(Dynamic Method Invocation,DMI) 标识符:! 一.通过以下选中的文件来查看是否禁止调用动态方法 二.在我们自定义的action类中,我们不再单一的继承来自父类的方法,我们可以自定义自己的方法 1 package cn.jbit.booklist; 2 3 import com.opensymphony.xwork2.ActionSupport; 4 5 public class BookList extends Act

Struts2之动态方法调用(优点:调用同一个action中的多个方法不需要在配置文件中写多个指向相同action类的的action节点只需要一个action节点就行)

在表单action值里指定所调用的action中的哪个方法而不是借助配置文件action节点的method属性 1 UserAction类 package org.action; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import org.apache.struts2.ServletActionContext;

笔记01 登录、常用配置参数、Action访问Servlet API 和设置Action中对象的值、命名空间和乱码处理、Action中包含多个方法如何调用

Struts2登录 1. 需要注意:Struts2需要运行在JRE1.5及以上版本 2. 在web.xml配置文件中,配置StrutsPrepareAndExecuteFilter或FilterDispatcher 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 <filter>     <filter-name>struts2</filter-name>     <filter-class>org.apache.struts2.di

struts2学习笔记(4)---------action中的方法调用

系统需要使用Action的不同方法来处理用户请求,这就需要让同一个Action里面包含多个控制处理逻辑. 1)动态方法调用 即DMI(dynamic method invocation),使用actionName!methodName的形式来指定想要调用的方法,如果想使用DMI,需要在struts.xml里面加入这句话: <constant name="struts.enable.DynamicMethodInvocation" value="true" /&

Struts2一个Action内包含多个请求处理方法的处理,method的使用方法,struts2中

struts2的关于method="{1}"意思详解 <action   name= "Login_* "   method= "{1} "   class= "mailreader2.Login ">中Login_*带*是什么意思?method= "{1} "带{}这个是什么意思?====================================================name=

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

一.Struts2执行过程图: 二.struts2配置文件的加载顺序 struts-default.xml---struts-plugin.xml---struts.xml 具体步骤: 三.Action中动态方法调用<Dynamic Method Invocation> DMI 第一种方式: 自定义DMIAction类,使它继承ActionSupport类,该类无需手动重写execute(),底层有默认实现.因此我们也可以自定义方法list. struts.xml中的action元素植入met

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

01.Struts 2基本结构 使用Struts2框架实现用登录的功能,使用struts2标签和ognl表达式简化了试图的开发,并且利用struts2提供的特性对输入的数据进行验证,以及访问ServletAPI时实现用户会话跟踪,其简单的程序运行流程图如下 Struts2框架是基于MVC模式.基于MVC模式框架的核心就是控制器对所有请求进行统一处理.Struts2的控制器StrutsPrepareAndExecuteFilter由ServletAPI中的Filter充当,当web容器的接收到登录

动态调用action里的方法

默认为execute,但是可以用过给form的action=“action名!方法名.action” 来动态调用,配合onclicke="方法名()" 就可以实现 或 利用action的method属性:为每一个action方法配置一个action元素,method="方法名" (会增加struts.xml的负担,改进使用通配符) form的action属性为"action名.action?sign=1"    只针对第一个按钮?配合onclic

Struts2从一个action转到另一个action的两种方法

在Struts2中,Action处理完用户请求后,将会返回一个字符串对象,这个字符串对象就是一个逻辑视图名.Struts 2通过配置逻辑视图名和物理视图之间的映射关系,一旦系统收到Action返回的某个逻辑视图名,系统就会把相应的物理视图呈现给浏览者. Struts 2的结果类型决定了Action处理结束后,下一步将会调用那种视图资源来呈现处理结果.默认是dispatcher,该结果类型指定使用JSP作为视图资源.但是我们会有这样的要求:要求从一个Action转到另一个Action中去. 从一个