`
perfee
  • 浏览: 23726 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

一个表单,多个提交按钮的处理方法

阅读更多

●LookupDispatchAction:  当一个表单有多个提交按钮时,可实现不同提交按钮使用同一action调用不同方法

                         它继承DispatchAction,故已实现一个action分发多个命令

 

  在DispatchAction基础上做了一些改动.实质都是根据xx.do?method=cc的cc,找到action相应命令方法执行

 

  1.编写多个提交按钮的表单.这里使用Struts标签html,bean,以及国际化资源文件

    bean:message-key属性值引用的国际化资源文件的键

    submit-property属性值为请求的方法参数名,值为key表示的键对应的值

    翻译之后为<input type="submit" name="method" value="国际化资源文件中key所对应的值" />

    提交的请求实为:  user.do?method=value值

 

<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>

<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>

 

    <html:form action="user.do" method="get">

        name:<html:text property="userName" /><br/>

    <html:submit property="method"><bean:message key="button.add" /></html:submit>

    <html:submit property="method"><bean:message key="button.del" /></html:submit>

    </html:form>

 

  2.编写ActionFormBean,并配置form-bean

 

public class UserFormBean extends ActionForm {

 

private String userName;

public String getUserName() {

return userName;

}

public void setUserName(String userName) {

this.userName = userName;

}

}

 

<form-beans >    <form-bean name="user" type="xiaoxu.vo.UserFormBean" />    </form-beans>

 

  3.编写action,并配置action

    注意该action必须有name属性,即该ActionMapping必须配置ActionForm

    分发的命令,即方法,参数列表与execute方法一致

    getKeyMethodMap是LookupDispatchAction的抽象方法,实现提交按钮的value值与命令方法的匹配

 

public class UserAction extends LookupDispatchAction {

 

/*两个命令方法,addUser,delUser*/

public ActionForward addUser(ActionMapping mapping, ActionForm form,

HttpServletRequest request, HttpServletResponse response)

throws Exception {

System.out.println("添加用户");

return null;

}

public ActionForward delUser(ActionMapping mapping, ActionForm form,

HttpServletRequest request, HttpServletResponse response)

throws Exception {

System.out.println("删除用户");

return null;

}

protected Map<String,String> getKeyMethodMap() {

Map<String,String>  map=new HashMap<String,String> ();    //创建Map集合

//key引用的国际化资源文件的键,值为命令方法名

//父类将会做进一步处理.从国际化资源文件中根据键获取值,再匹配命令方法名

map.put("button.add","addUser");

map.put("button.del","delUser");

return map;

}

}

 

<action-mappings>

    <action path="/user" type="xiaoxu.action.UserAction" name="user" parameter="method" />

</action-mappings>

分享到:
评论

相关推荐

    巧用js提交表单轻松解决一个页面有多个提交按钮

    代码如下: ”javascript” name=”code”&gt;function check(txt){ $j(“form”).submit(function(){ if($txt==”提交”){ this.action=”doAddMessage.action?button=提交”; this.submit(); }else{ this.action=”...

    一个from表单提交多个功能

    ### 一个from表单提交多个功能 在Web开发中,我们经常会遇到需要通过同一个表单实现多种不同功能的情况。例如,根据用户的选择或输入执行不同的后端处理逻辑。本文将详细解析如何通过JavaScript来实现一个表单提交...

    php实现表单多按钮提交action的处理方法

    在上述代码中,我们创建了一个表单,其中有两个提交按钮,它们的name都是"sub",但值分别是"s1"和"s2"。 当用户点击其中一个按钮提交表单时,服务器端可以通过PHP来判断哪个按钮被点击了。这通常通过检查POST或GET...

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

    在JavaServer Pages (JSP) 技术中,创建一个包含多个提交按钮的页面是常见的需求,每个按钮可能对应不同的处理逻辑,比如提交到不同的后端Servlet或执行不同的操作。本示例着重讲解如何在JSP页面中实现多个提交按钮...

    表单点击提交按钮后变成灰色.rar

    总结,"表单点击提交按钮后变成灰色"这一现象体现了JavaScript在处理表单提交时对用户体验和数据安全性的考虑。开发者可以通过控制按钮的`disabled`属性,配合事件监听和异步提交技术,实现更加智能和友好的表单交互...

    浅析一个表单多个Submit按钮的简单实现方法

    要实现一个表单多个Submit按钮,我们可以利用JavaScript来控制每个按钮的提交行为。以下是三种常见的实现策略: 1. **使用name属性和JavaScript事件处理**:为每个Submit按钮设置唯一的name属性,例如`提交1"&gt;`和`...

    防止Layui form表单重复提交的实现方法

    为了解决这个问题,开发者需要确保表单只提交一次,防止不必要的数据重复处理或者服务器的重复计算。下面详细解释几种防止Layui表单重复提交的方法。 首先,在HTML表单中,为了避免在提交时页面刷新导致的重复提交...

    用js提交表单解决一个页面有多个提交按钮的问题

    用js提交表单解决一个页面有多个提交按钮的问题,主要是判断是否为提交文本,然后再执行相应的动作,比较简单。 &lt;pre class=javascript name=code&gt;function check(txt){ $j(form).submit(function(){ if($txt==提交)...

    防止用户表单重复提交处理

    在Web开发中,用户表单重复提交是一个常见的问题,它可能导致数据冗余或者数据库状态的不一致。本示例提供了一种解决方案,包括在前端JavaScript和后端进行处理,以防止用户因网络延迟或误操作导致的多次提交。 ...

    形考任务六 HTML 表单用于搜集不同类型的用户输入,包括文本输入、单选按钮输入、提交按钮,达到效果入下图所示。.zip

    在形考任务六中,我们将探讨如何利用HTML来创建一个包含文本输入、单选按钮以及提交按钮的表单。 **一、HTML表单基础** HTML表单通过`&lt;form&gt;`标签定义,它通常包含一个或多个表单控件,如`&lt;input&gt;`、`&lt;select&gt;`、`...

    struts2中一个表单中提交多个请求的例子(多个提交按钮)

    在Struts2框架中,处理一个表单中的多个提交按钮是一项常见的需求。通常,一个HTML `&lt;form&gt;` 标签会包含多个 `&lt;input type="submit"&gt;` 按钮,每个按钮对应不同的操作。Struts2 提供了一种机制,允许在同一个Action类...

    layui一个页面使用多个文件upload上传按钮

    本篇文章将详细讲解如何在layui中实现一个页面上使用多个独立的文件上传按钮,以及相关的配置和注意事项。 首先,layui的upload组件是基于HTML5的File API构建的,支持多文件选择、预览、上传进度显示等功能。在...

    [Jsp]防止页面表单重复提交的解决方法

    当表单被提交后,将一个标识符存入session,然后在处理请求时检查这个标识。如果发现用户已经提交过,就拒绝处理新的请求。 5. **数据库唯一约束** 对于某些需要确保唯一性的数据,如用户名、电子邮件等,可以在...

    基于layui点击按钮弹出包含表单的窗口

    layui的每个功能都被封装为一个模块,例如`form`模块用于处理表单操作,`layer`模块则用于弹窗功能。在使用前,我们需要通过`layui.use()`方法引入这些模块。 1. 引入layui库: 在HTML文件头部引入layui的CSS和JS...

    javascript方式防止表单重复提交

    在Web开发中,表单重复提交是一个常见的问题,可能导致数据的冗余或错误。JavaScript作为客户端脚本语言,可以通过多种策略来防止用户意外或恶意地多次提交表单。以下是一些关键的知识点: 1. **禁用提交按钮**:最...

    按钮的Ajax请求时一次点击两次提交的解决方法

    这是因为如果未正确处理,一个简单的按钮点击可能会导致Ajax请求和表单提交同时发生,造成不期望的重复提交问题。 当使用HTML表单提交数据时,点击类型为submit的按钮默认会触发表单的提交。在使用JavaScript的Ajax...

    解决Django一个表单对应多个按钮的问题

    在这个例子中,我们有两个提交按钮,一个是用于删除操作,另一个是用于更新操作。每个按钮都有一个唯一的`name`属性,分别是`delete`和`update`。 然后,在Django视图函数中,我们可以检查POST请求的数据来判断用户...

    一个form多个submit处理案例

    在这个“一个form多个submit处理案例”中,我们将探讨如何在一个表单中使用多个submit按钮来实现不同的功能。这在实际应用中非常常见,比如在一个订单页面上,用户可能有一个“保存草稿”和“立即购买”的提交选项。...

    修改禁止多次重复提交

    "修改禁止多次重复提交"这个话题涉及到前端交互、后端处理以及数据库操作等多个层面。下面将详细介绍如何实现这一功能。 首先,前端控制是第一道防线。通常,我们可以使用JavaScript来限制表单提交。当用户点击提交...

    js实现表单多按钮提交action的处理方法

    然而,在某些场景下,我们需要实现多个按钮各自对应不同的处理逻辑,这就涉及到表单多按钮提交action的处理方法。 在JavaScript中,我们可以通过给按钮绑定不同的事件处理函数来实现这一需求。当某个按钮被点击时,...

Global site tag (gtag.js) - Google Analytics