在很多Web应用中,为了完成不同的工作,一个HTML form标签中可能有两个或多个submit按钮,Struts2中提供了另外一种方法,使得无需要配置可以在同一个action类中执行不同的方法(默认执行的是execute方法)

使用这种方式也需要通过请求参来来指定要执行的动作。请求参数名的格式为
 

 action!method.action

主页面submit.jsp的代码:

<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<html>
<head>
<title>My JSP 'hello.jsp' starting page</title>
</head>
<body><s:form action="submit.action"><s:textfield name="msg" label="输入内容" /><s:submit name="save" value="保存" align="left" method="save" /><!--save和print都是submitaction中的方法名--><s:submit name="print" value="打印" align="left" method="print" /></s:form>
</body>
</html>

submitAction代码如下:

package action;import javax.servlet.http.*;
import com.opensymphony.xwork2.ActionSupport;
import org.apache.struts2.interceptor.*;public class MoreSubmitAction extends ActionSupport implementsServletRequestAware {private String msg;private javax.servlet.http.HttpServletRequest request;// 获得HttpServletRequest对象public void setServletRequest(HttpServletRequest request) {this.request = request;}// 处理save submit按钮的动作public String save() throws Exception {request.setAttribute("result", "成功保存[" + msg + "]");return "save";}// 处理print submit按钮的动作public String print() throws Exception {request.setAttribute("result", "成功打印[" + msg + "]");return "print";}public String getMsg() {return msg;}public void setMsg(String msg) {this.msg = msg;}
}

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><package name="demo" extends="struts-default"><action name="submit" class="action.MoreSubmitAction"><result name="save"> /result.jsp </result><result name="print">/result.jsp</result></action></package>
</struts>

result.jsp:

<%@ page language="java" contentType="text/html; charset=GBK"pageEncoding="GBK"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>提交结果</title>
</head>
<body>
<h1>${result }</h1>
</body>
</html>

struts2中一个表单中提交多个请求(动态调用方法)相关推荐

  1. Jquery中实现表单提交到SSM后台前进行post请求实现数据的校验

    场景 表单中有两个输入框input在提交这个表单前需要对两个输入框进行校验. 即点击提交按钮时会经过校验的方法,此方法会post方式提交到后台,在请求后台成功后的回调方法中会对js变量进行赋值,进而决 ...

  2. form表单、控制器中接收表单提交数据的4种方式

    Form表单 这篇文章主要讲的是form表单的提交 之前我们接触过的form表单元素是在Bootstrap框架里面,这次也将用到Bootstrap框架去布局(见图表1)通过Bootstrap框架布局呈 ...

  3. html语言中表格由什么组成,HTML中一个表单由什么组成

    在HTML中,一个完整的表单通常由表单元素(也称为表单控件).提示信息和表单域3个部分构成.表单元素包含了具体的表单功能项,如单行文本输入框.密码输入框.复选框.提交按钮.重置按钮等:表单域相当于一个 ...

  4. html表单提交不判断,请问jquery有方法可以判断一个表单提交之后结果是成功或不成功吗?...

    具体是这样的,今天在做项目的时候用到layer弹出插件,我弹出的是一个iframe层.我用了ajax提交,通过ajax提交后的回调判断提交是否成功,成功就调用parent.layer.close(in ...

  5. IDEA 插件开发 一个表单提交的弹出框

    文章目录 IDEA 插件开发 一个表单提交的弹出框 1.说明 IDEA 插件开发 一个表单提交的弹出框 package com.wretchant.fredis.gui.dialog;import c ...

  6. 表单提交和超链接请求传递参数的几种方式

    表单提交和超链接请求传递参数的几种方式 这段时间在使用easy-ui的datagrid,他有自己提交表单的方式,所以就整理整理页面对参数的提交方式: 注:下面代码都已经过测试. 1. HTML提交表单 ...

  7. Struts2中There is no Action mapped for namespace错误解决方法

    Struts2中There is no Action mapped for namespace错误解决方法 参考文章: (1)Struts2中There is no Action mapped for ...

  8. python一个函数调用另一个函数中的变量_在Python 中同一个类两个函数间变量的调用方法...

    在Python 中同一个类两个函数间变量的调用方法 更新时间:2019年01月31日 15:44:54 作者:wxy_summer 今天小编就为大家分享一篇在Python 中同一个类两个函数间变量的调 ...

  9. 利用.Net中的反射动态调用方法

    .Net中的反射功能是极其强大的,本篇先用他来动态调用方法 看如下一个类 Public Class A { public void InvokeMethod(string methodname) { ...

最新文章

  1. ACM 全部算法总结
  2. MyBatis第二天
  3. 亚马逊查询关键词排名的工具_查询关键词排名收录的作用与操作
  4. mysql分组取日期最大的记录_mysql 分组 group by, 排序 取每条记录中,时间最大
  5. php: eclipse 编辑 php
  6. 在vm中安装linux虚拟机,如何在vm虚拟机中安装linux
  7. 【BZOJ2809】【codevs1763】派遣,主席树记录前缀和
  8. java中new与newitance_你真的弄明白 new 了吗
  9. Android相机基础基于camera2API
  10. elasticsearch索引模块缓存
  11. 自定义View:悬浮球与加速球
  12. DSA_常用10种算法(java数据结构与算法)
  13. python生成word文档有哪些库_python实现生成word文档并转为pdf
  14. B站最近很火的damedane,unravel图片唱歌
  15. 在eclipse中查看jar包
  16. 华为芯片设计面试题_华为公司面试硬件工程师笔试题
  17. 澳洲留学生论文写作必备好用软件or网站
  18. 抵押贷款买房,一旦房价暴跌,银行可能会收走你家的房子
  19. 解决:Unknown column ‘a.userId‘ in ‘field list‘
  20. DBeaver快捷键

热门文章

  1. Generic Access Profile (GAP)
  2. 对于数字特征的若干理解
  3. 近世代数--外直积--外直积是什么?关于阶的性质?
  4. 检索图书 FindMess.java
  5. 数据结构--插入排序
  6. 【Flask项目2】定制统一的JSON返回格式(6)
  7. [architecture]-DMB、DSB 和 ISB指令的深度解读
  8. 2021-07-15
  9. 文件权限与目录配置——笔记
  10. 私有句柄表(内核对象,并非用户对象),全局句柄表