Struts 2中如何用一个action调用多个方法,避免每一个方法写一个action的繁琐之处

原创 2011年07月30日 17:13:18

================================================这个是打开首页的一个jsp页面===================================================

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
   
    <title>My JSP 'index.jsp' starting page</title>
 <meta http-equiv="pragma" content="no-cache">
 <meta http-equiv="cache-control" content="no-cache">
 <meta http-equiv="expires" content="0">   
 <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
 <meta http-equiv="description" content="This is my page">
 <!--
 <link rel="stylesheet" type="text/css" href="styles.css">
 -->
  </head>
 
  <body>
     <!-- 这个方法是明确action调用那个方法 -->
        <input type="button" value="添加" onclick="return window.location='add'"/>
        <input type="button" value="删除" onclick="return window.location='delete'"/>
     <!-- 这个是DMI动态调用action的方法  关键在 userManage!add 注解:userManage是action的name的值 !表示调用那个 比如add -->
    <input type="button" value="添加_1" onclick="return window.location='userManage!add'"/>
        <input type="button" value="删除_1" onclick="return window.location='userManage!delete'"/>
 
  </body>
</html>

 

=============================================这个是Action==================================================================

package org.demo.struts;

import com.opensymphony.xwork2.ActionSupport;

public class UserManage extends ActionSupport {

 /**  这个是第一种用method方法明确指定调用的方法
 public String add() {
  return SUCCESS;
 }

 public String delete() {
  return SUCCESS;
 }
 */
 
 //下面这个这用DMI动态执行方法

 public String add() {
  return "add_success";
 }

 public String delete() {
  return "delete_success";
 }
}

 

================================================这个是struts.xml  中的配置=====================================================

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
  <constant name="struts.devMode" value="true"/>
  
  <package name="UserManage" namespace="/" extends="struts-default">
   <!-- 这个配置是明确告诉action调用那个方法
   <action name="add" class="org.demo.struts.UserManage" method="add">
    <result name="success">add.jsp</result>
   </action>
   <action name="delete" class="org.demo.struts.UserManage" method="delete">
    <result name="success">delete.jsp</result>
   </action>
    -->
   
     <!-- 这个方法是DMI动态调用那个方法 的配置 只用一个action-->
    <action name="userManage" class="org.demo.struts.UserManage">
      <result name="add_success">add.jsp</result>
      <result name="delete_success">delete.jsp</result>
    </action>
  </package>
  
</struts>   

========================================这里有两个add.jsp ,和delete.jsp页面执行 是分别执行action中的add(),delete()中的跳转页面==================

 

 

Struts中1个Action中多个执行方法时,怎么调用

先看工程目录:
  • ItJavawfc
  • ItJavawfc
  • 2014年08月13日 21:39
  • 1075

struts一个action处理多个方法

struts1:            struts1中一个action处理多个方法,通过让action继承DispachAction来实现            1. action继承Dispach...
  • liusong0605
  • liusong0605
  • 2013年08月19日 10:16
  • 9766

一个action多个方法的调用

1.动态方法调用。 一个action的多个方法,此时可根据actionName!methodName.action的形式来访问action,如"reg!del.action" 是可以直接访...
  • aiqq527
  • aiqq527
  • 2014年03月21日 00:52
  • 581

【Struts2集锦】Struts2的Action中多个方法调用

以前刚做java项目的时候,就用的是SSH框架,做了两个项目都用的是SSH框架,但是里面Action多个方法调用的时候却不一样,其实不止这一个不一样,不同项目用的都叫SSH框架,但是实现方式不一样,后...
  • u010539352
  • u010539352
  • 2016年01月29日 08:29
  • 2885

Struts中1个Action中多个执行方法时,怎么调用

先看工程目录:
  • ItJavawfc
  • ItJavawfc
  • 2014年08月13日 21:39
  • 1075

【Struts2集锦】Struts2的Action中多个方法调用

以前刚做java项目的时候,就用的是SSH框架,做了两个项目都用的是SSH框架,但是里面Action多个方法调用的时候却不一样,其实不止这一个不一样,不同项目用的都叫SSH框架,但是实现方式不一样,后...
  • u010539352
  • u010539352
  • 2016年01月29日 08:29
  • 2885

struts一个action处理多个方法

struts1:            struts1中一个action处理多个方法,通过让action继承DispachAction来实现            1. action继承Dispach...
  • liusong0605
  • liusong0605
  • 2013年08月19日 10:16
  • 9766

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

在表单action值里指定所调用的action中的哪个方法而不是借助配置文件action节点的method属性 1 UserAction类 package org.action; import j...
  • u012871207
  • u012871207
  • 2015年02月02日 13:08
  • 1349

如何做到 一个Action 类 应对多个action 请求

问题:如果一个Action类需要应对多个action请求,且每个action 请求的验证规则有不一样,该如何处理? > 为每一个不同的 action 请求定义其对应的验证文件: ActionCla...
  • chuck_kui
  • chuck_kui
  • 2016年05月12日 16:24
  • 1527

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

从action1直接跳转到action2,有两种方法:  1. 需要保存前一个action的属性信息时使用,保存住action1的request对象:       action2  2...
  • Where_the_way
  • Where_the_way
  • 2014年03月13日 10:31
  • 2311
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Struts 2中如何用一个action调用多个方法,避免每一个方法写一个action的繁琐之处
举报原因:
原因补充:

(最多只允许输入30个字)