`
tom_seed
  • 浏览: 322168 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

一个form中不同按钮调用同一个Action中的不同方法

阅读更多

在基本Struts框架下建立一张JSP页面,一个Action类,并且在Struts.xml文件中配置这个Action的路径。

测试页面:Test.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
   <head>
   </head>
   <body>

      <font color="red">${result}</font>
      <s:form action="test.do">
          <s:submit name="method1" method="method1" value="方法1"></s:submit>
          <s:submit name="method2" method="method2" value="方法2"></s:submit>
      </s:form>
 </body>
</html>  


Action类:TestAction.java

package Struts.action;

import javax.servlet.http.HttpServletRequest;

import org.apache.struts2.interceptor.ServletRequestAware;

import com.opensymphony.xwork2.ActionSupport;

@SuppressWarnings("serial")
public class TestAction extends ActionSupport implements ServletRequestAware{
 
 private HttpServletRequest request;
 
 public void setServletRequest(HttpServletRequest request){
  this.request = request;
 }
 
 public String method1() throws Exception{
  request.setAttribute("result","method1");
  return "test";
 }
 
 public String method2() throws Exception{
  request.setAttribute("result", "method2");
  return "test";
 }

} 

 


Struts.xml文件中的Action配置为:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd ">
<struts>

<package name="action" extends="struts-default">

  <action name="test" class="Struts.action.TestAction">
      <result name="test">Test.jsp</result>
  </action>

 </package>

</struts> 
 

 

通过不同的按钮对应不同的method,访问同一个Action中不同的方法

分享到:
评论

相关推荐

    Struts2教程:处理一个form多个submit.doc

    但在Struts2中,我们可以利用Action的特性以及Struts2的标签库来实现不同submit按钮调用不同的方法。以下是如何在Struts2中处理一个form多个submit的步骤: **步骤1:创建表单(JSP页面)** 在`more_submit.jsp`中...

    一个jsp页面中多个提交按钮提交不同的页面.zip

    同时,我们可以使用表单(form)元素来封装这些按钮,每个表单可以指定不同的action属性,该属性定义了当表单被提交时应调用的处理程序(通常是Servlet)和提交方式(method,如GET或POST)。 以下是一个简单的JSP页面...

    java处理一个form多个submit

    Struts2 提供了另外一种方法,使得无需配置可以在同一个 action 类中执行不同的方法(默认执行的是 execute 方法)。使用这种方式也需要通过请求参数来指定要执行的动作。请求参数名的格式为 action!method。例如:...

    JS调用Struts中的Action

    上面的代码展示了一个按钮点击事件,该事件触发时会执行`formSubmit`函数,并将Action路径和参数作为参数传入,最终实现Action的调用。 - **直接使用`submit`方法** ```javascript function ff() { document....

    js调用C#方法

    ### JS调用C#方法及C#调用JS方法详解 在Web开发中,前后端交互是必不可少的一个环节。本文将详细介绍如何实现前端JavaScript(JS)与后端C#之间的相互调用,这对于构建功能丰富的Web应用至关重要。下面将按照问题的...

    一个Action如何调用两个不同的方法

    在给定的示例中,我们看到一个`form`元素,它有两个按钮,每个按钮通过`onclick`事件调用不同的JavaScript函数,从而改变`form`的`action`属性并提交表单,这样就能根据用户的选择调用不同的后台处理方法。...

    c#跨线程跨类调用窗体控件

    假设我们有一个名为`Cross`的类,该类有一个方法`CrossThreadAddNum`,我们需要在这个方法中调用`Form1`的`ListBox1`来添加项目。以下是一个示例: ```csharp public class Cross { private Form1 _form1; ...

    struts form action验证

    本篇将深入探讨Struts中的Form验证和Action验证,以及如何通过一个简单的计算器应用来实践这些验证方法。 一、Struts Form验证 Form验证在Struts中主要负责前端用户输入的数据检查。当用户在Web表单中填写信息并...

    不用SUBMIT可以实现的多个按钮的功能

    3. **阻止表单默认提交**:如果不想让按钮触发表单的默认提交行为,可以在`&lt;form&gt;`元素上添加`onsubmit`事件,然后在事件处理函数中调用`event.preventDefault()`。 ```html &lt;form id="myForm" onsubmit="event....

    EventDispatchAction类处理一个form多个submit

    对于复杂的业务逻辑而言,有时我们需要在一个表单中提供多个提交按钮,以便根据不同的用户需求执行不同的后端逻辑。传统的处理方式可能会导致代码冗余以及维护困难等问题。为了更好地解决这一问题,Struts框架提供了...

    jquery form ui中文api

    - **文件上传**:对于文件上传的支持是jQuery Form插件的一个亮点,可以在配置选项中设置`url`、`type`等属性。 - **动态表单**:对于动态生成的表单元素,确保在DOM变动后重新绑定事件。 #### 六、参考资料 - **...

    J2EE_高级Action

    - **定义**:`DispatchAction`是Struts框架提供的一种特殊的`Action`实现,它可以在一个Action中根据不同的请求参数执行不同的方法。 - **应用场景**:当一个页面需要通过同一个Action处理多种类型的请求时,可以...

    Liferay form机制及例子

    1. **提交表单**:当用户点击提交按钮,浏览器会向服务器发送一个POST请求,该请求的目标是表单中的`actionURL`。这个URL通常由`&lt;portlet:actionURL&gt;`标签生成,它指向portlet的`processAction`方法。 2. **处理...

    winform 委托窗体传值.zip

    在WinForm中,如果我们需要在一个窗体(Form1)中执行另一个窗体(Form2)的方法并传递数据,可以创建一个带有适当参数的`Action`实例,然后在Form2中定义一个对应的方法。这样,Form1可以通过调用这个`Action`来...

    multipartform-data 参数传递

    这个表单使用`POST`方法,并且使用了`multipart/form-data`作为其`enctype`属性值,这表明该表单可以用来上传文件。 #### 标签解析 - **multipart/form-data**:如上所述,这是一种特定的表单数据编码类型,用于...

    ajaxForm中文文档

    在调用`ajaxForm`或`ajaxSubmit`时,你可以传递一个Options对象,定制Ajax请求的行为。Options包括但不限于: - `beforeSubmit`: 提交前的回调函数,可以进行数据验证或预处理。 - `success`: 请求成功后的回调函数...

    jsp调用servlet

    1. **创建Servlet**:首先,我们需要创建一个Servlet类,继承自HttpServlet类,并重写doGet或doPost方法。例如: ```java import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; ...

Global site tag (gtag.js) - Google Analytics