在基本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中,我们可以利用Action的特性以及Struts2的标签库来实现不同submit按钮调用不同的方法。以下是如何在Struts2中处理一个form多个submit的步骤: **步骤1:创建表单(JSP页面)** 在`more_submit.jsp`中...
同时,我们可以使用表单(form)元素来封装这些按钮,每个表单可以指定不同的action属性,该属性定义了当表单被提交时应调用的处理程序(通常是Servlet)和提交方式(method,如GET或POST)。 以下是一个简单的JSP页面...
Struts2 提供了另外一种方法,使得无需配置可以在同一个 action 类中执行不同的方法(默认执行的是 execute 方法)。使用这种方式也需要通过请求参数来指定要执行的动作。请求参数名的格式为 action!method。例如:...
上面的代码展示了一个按钮点击事件,该事件触发时会执行`formSubmit`函数,并将Action路径和参数作为参数传入,最终实现Action的调用。 - **直接使用`submit`方法** ```javascript function ff() { document....
### JS调用C#方法及C#调用JS方法详解 在Web开发中,前后端交互是必不可少的一个环节。本文将详细介绍如何实现前端JavaScript(JS)与后端C#之间的相互调用,这对于构建功能丰富的Web应用至关重要。下面将按照问题的...
在给定的示例中,我们看到一个`form`元素,它有两个按钮,每个按钮通过`onclick`事件调用不同的JavaScript函数,从而改变`form`的`action`属性并提交表单,这样就能根据用户的选择调用不同的后台处理方法。...
假设我们有一个名为`Cross`的类,该类有一个方法`CrossThreadAddNum`,我们需要在这个方法中调用`Form1`的`ListBox1`来添加项目。以下是一个示例: ```csharp public class Cross { private Form1 _form1; ...
本篇将深入探讨Struts中的Form验证和Action验证,以及如何通过一个简单的计算器应用来实践这些验证方法。 一、Struts Form验证 Form验证在Struts中主要负责前端用户输入的数据检查。当用户在Web表单中填写信息并...
3. **阻止表单默认提交**:如果不想让按钮触发表单的默认提交行为,可以在`<form>`元素上添加`onsubmit`事件,然后在事件处理函数中调用`event.preventDefault()`。 ```html <form id="myForm" onsubmit="event....
对于复杂的业务逻辑而言,有时我们需要在一个表单中提供多个提交按钮,以便根据不同的用户需求执行不同的后端逻辑。传统的处理方式可能会导致代码冗余以及维护困难等问题。为了更好地解决这一问题,Struts框架提供了...
- **文件上传**:对于文件上传的支持是jQuery Form插件的一个亮点,可以在配置选项中设置`url`、`type`等属性。 - **动态表单**:对于动态生成的表单元素,确保在DOM变动后重新绑定事件。 #### 六、参考资料 - **...
- **定义**:`DispatchAction`是Struts框架提供的一种特殊的`Action`实现,它可以在一个Action中根据不同的请求参数执行不同的方法。 - **应用场景**:当一个页面需要通过同一个Action处理多种类型的请求时,可以...
1. **提交表单**:当用户点击提交按钮,浏览器会向服务器发送一个POST请求,该请求的目标是表单中的`actionURL`。这个URL通常由`<portlet:actionURL>`标签生成,它指向portlet的`processAction`方法。 2. **处理...
在WinForm中,如果我们需要在一个窗体(Form1)中执行另一个窗体(Form2)的方法并传递数据,可以创建一个带有适当参数的`Action`实例,然后在Form2中定义一个对应的方法。这样,Form1可以通过调用这个`Action`来...
这个表单使用`POST`方法,并且使用了`multipart/form-data`作为其`enctype`属性值,这表明该表单可以用来上传文件。 #### 标签解析 - **multipart/form-data**:如上所述,这是一种特定的表单数据编码类型,用于...
在调用`ajaxForm`或`ajaxSubmit`时,你可以传递一个Options对象,定制Ajax请求的行为。Options包括但不限于: - `beforeSubmit`: 提交前的回调函数,可以进行数据验证或预处理。 - `success`: 请求成功后的回调函数...
1. **创建Servlet**:首先,我们需要创建一个Servlet类,继承自HttpServlet类,并重写doGet或doPost方法。例如: ```java import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; ...