处理一个 form 多个 submit的问题
我照着Struts2教程做了一个处理一个 form 多个 submit的demo
struts.xml:
MultiSubmit.jsp
MultiSubmitAction.java
结果在MultiSubmit.jsp那里点击保存,执行的是execute那里,没有去save执行,我用的是struts-2.5.20,请教大家,这是什么原因造成的?
struts.xml:
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="HelloWorld" extends="struts-default">
<action name="HelloWorld" class="com.hengrensoft.study.HelloWorldAction">
<result>/HelloWorld.jsp</result>
</action>
<action name="Sum" class="com.hengrensoft.study.SumAction">
<result name="positive">/positive.jsp</result>
<result name="negative">/negative.jsp</result>
</action>
<action name="MultiSubmit" class="com.hengrensoft.study.MultiSubmitAction">
<result name="save">/SubmitResult.jsp</result>
<result name="print">/SubmitResult.jsp</result>
</action>
<!-- Add your actions here -->
</package>
</struts>
MultiSubmit.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="MultiSubmit" >
<s:textfield name="msg" label="输入内容"/>
<s:submit name="save" value="保存" align="left" method="save"/>
<s:submit name="print" value="打印" align="left" method="print" />
</s:form>
</body>
</html>
MultiSubmitAction.java
package com.hengrensoft.study;
import javax.servlet.http.HttpServletRequest;
import org.apache.struts2.interceptor.ServletRequestAware;
import com.opensymphony.xwork2.ActionSupport;
public class MultiSubmitAction extends ActionSupport implements ServletRequestAware
{
/**
*
*/
private static final long serialVersionUID = 1L;
private HttpServletRequest request;
private String msg;
public String getMsg()
{
return msg;
}
public void setMsg(String msg)
{
this.msg = msg;
}
public String save()
{
System.out.println("exe saving...");
request.setAttribute("result", "成功保存[" + msg + "]");
return "save";
}
public String print()
{
System.out.println("exe print...");
request.setAttribute("result", "成功打印[" + msg + "]");
return "print";
}
public String execute()
{
System.out.println("execute...");
return NONE;
}
@Override
public void setServletRequest(HttpServletRequest request)
{
this.request = request;
}
}
结果在MultiSubmit.jsp那里点击保存,执行的是execute那里,没有去save执行,我用的是struts-2.5.20,请教大家,这是什么原因造成的?
...全文
相关推荐
在一个form用一个SUBMIT(或button)分别提交到两个处理表单页面的代码
在一个form用一个SUBMIT(或button)分别提交到两个处理表单页面的代码
EventDispatchAction类处理一个form多个submit
多个submit的特殊应用。通常选择dispatchaction,当然Struts2应该都可以解决。
Vue ElementUI之Form表单验证遇到的问题
主要介绍了Vue ElementUI之Form表单验证遇到的问题,需要的朋友可以参考下
ASP.NET基于Ajax的Enter键提交问题分析
主要介绍了ASP.NET基于Ajax的Enter键提交,结合实例形式分析了asp.net基于ajax响应Enter键的提交方法与相关问题解决技巧,具有一定参考借鉴价值,需要的朋友可以参考下
巧用js提交表单轻松解决一个页面有多个提交按钮
使用js提交表单想必大家都会,如果要实现一个页面有多个提交按钮,你会吗?下面有个不错的示例,大家可以感受下


Web 开发
