`

struts2: Form表单有多个submit的提交问题

阅读更多

页面中传的是Buser对象,BuserBean的属性为:
     private String URealname;
    private String USex;
    private String UTel;
    private String UQq;
添加get、set方法。

1.register.jsp
   <!--
    s:submit中的method属性和struts.xml中action标签中的method属性一致(method属性指定了要调用的方法)。
     在s:submit中可以为一个action设置多个method,而在struts.xml中action标签中只能设置一个method。
     当然,在struts.xml中可以为一个action指定多个actionName(action别名)。
     总结:一个Action类,可以对应多个action别名,每个action别名对应多个method属性(通过s:submit标签设置)。
     -->

<s:form action="userAction">  
<table> 
  <tr> 
    <td>用户注册信息</td> 
  </tr> 
  <tr> 
    <td>真实姓名</td> 
    <td><input name="buser.URealname" type="text" /></td> 
  </tr> 
  <tr> 
    <td>性别</td> 
    <td><input type="radio" name="buser.USex" value="男"checked="checked"/>男 
    <input type="radio" name="buser.USex" value="女" class="radio" /> 
      女</td> 
  </tr> 
  <tr> 
    <td>手机号码</td> 
    <td><input name="buser.UTel" type="text"/></td> 
  </tr> 
  <tr> 
    <td>QQ号</td> 
    <td><input name="buser.UQq" type="text"/></td> 
  </tr> 
</table> 
  <s:submit value="提交" method="ensure" /> 
  <s:submit value="预览" method="view" /> 
  </s:form> 

 
2.struts.xml

<?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> 
<!-- 加载struts2框架默认的配置文件 --> 
  <include file="struts-default.xml" /> 
  <!-- extends表示要加载struts2框架默认的package --> 
    <package name="struts2" extends="struts-default"> 
      <!-- action与action之间的跳转 --> 
      <action name="userAction"  class="com.dgy.action.UserAction"> 
        <result name="ensure" >test.jsp</result> 
        <result name="view" >view.jsp</result> 
        <result name="input">register.jsp</result> 
      </action> 
    </package> 
</struts> 

 
3.com.dgy.action.UserAction

package com.dgy.action; 
import com.dgy.javabean.BuserBean; 
import com.opensymphony.xwork2.ActionSupport; 

public class UserAction extends ActionSupport{ 
    BuserBean buser ; 
    public String ensure(){ 
        System.out.println("running ensure()!"); 
        return "ensure"; 
    } 
    public String view(){ 
        System.out.println("running view()!"); 
        this.setBuser(this.getBuser()); 
        return "view"; 
    } 
    public BuserBean getBuser() { 
        return buser; 
    } 
    public void setBuser(BuserBean buser) { 
        this.buser = buser; 
    } 
} 

 

4.view.jsp 

 

<s:iterator value="buser"> 
<table> 
  <tr> 
    <td>用户注册信息</td> 
  </tr> 
  <tr> 
    <td>真实姓名</td> 
    <td ><s:property value="URealname"></s:property></td> 
  </tr> 
  <tr> 
    <td>性别</td> 
    <td ><s:property value="USex"></s:property></td> 
  </tr> 
  <tr> 
    <td>手机号码</td> 
    <td ><s:property value="UTel"></s:property></td> 
  </tr> 
  <tr> 
    <td>QQ号</td> 
    <td><s:property value="UQq"></s:property></td> 
  </tr> 
</table> 
</s:iterator> 
<s:submit value="提交" method="ensure" /> 
</s:form> 



  

分享到:
评论

相关推荐

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

    在处理一个表单(form)中存在多个submit按钮的情况时,Struts2提供了一种优雅的方式来区分用户点击了哪个按钮,而无需像Struts1那样使用额外的动作类(如LookupDispatchAction或EventDispatchAction)。 在传统的...

    java处理一个form多个submit

    Java 通过不同的方式可以实现对多个 submit 按钮的处理,下面将详细介绍 Struts1 和 Struts2 中的处理方法。 在 Struts1 中,使用 LookupDispatchAction 动作可以处理含有多个 submit 的 form。但是,这种方式需要...

    struts form 表单 用法

    总结起来,Struts Form表单通过Form Bean将JSP页面的表单数据与后台处理逻辑关联起来,简化了Web应用的数据管理。同时,它允许与HTML原生的表单元素混合使用,提供了更大的灵活性。理解并熟练运用Struts Form,对于...

    struts2官方例子10--Struts2的Form标签

    Struts2是一个强大的Java ...通过分析和运行这个示例,开发者可以深入理解Struts2 Form标签的工作原理,以及如何在实际项目中应用它来处理表单数据。学习和熟练掌握这一核心组件,对于提升Java web开发技能至关重要。

    Struts常见的Form(一)

    3. **嵌套Form Bean**: 在复杂的表单中,可能会有嵌套的表单结构,即一个表单内包含其他表单。这种情况下,可以使用嵌套Form Bean。每个嵌套的Form Bean都有自己的属性,可以通过点号`.`来访问。例如,一个用户表单...

    整合了struts2 jquery的formValidator表单验证的页面代码

    在"整合了struts2 jquery的formValidator表单验证的页面代码"这个项目中,开发者可能采用了以下步骤: 1. **引入依赖**:首先,需要在HTML页面中引入Struts2的相关JSP标签库,同时引入jQuery库和formValidator的...

    struts2 表单标签的使用

    在Struts2中,表单标签是用于构建用户界面的重要组件,它们帮助开发者创建交互式和动态的网页。这篇博客将深入探讨Struts2中的表单标签及其使用方法。 首先,我们需要理解Struts2表单标签的基本结构。通常,一个...

    EXT异步提交FORM表单

    ### EXT异步提交FORM表单...通过以上内容,我们不仅了解了EXT异步提交FORM表单的具体实现细节,还深入探讨了其与Struts2/Spring2.5框架的集成方法。这将有助于开发者更好地利用这些技术栈构建高效稳定的Web应用程序。

    struts2防止表单重复提交--重定向

    在Web开发中,表单重复提交是一个常见的问题,可能导致数据不一致或处理逻辑的混乱。Struts2提供了多种方法来防止这种情况,其中一种是通过重定向来实现。下面将详细解释Struts2如何通过重定向来防止表单重复提交。 ...

    struts2中token限制表单多次提交

    Struts2提供了Token插件来解决这个问题,确保每个表单提交只能被执行一次。下面将详细阐述Struts2中Token机制的工作原理、配置以及使用方法。 1. Token机制概述: Token机制是通过在客户端(浏览器)和服务器之间...

    Struts2表单数据获取项目

    在这个名为"Struts2表单数据获取项目"的资源中,我们将深入探讨如何使用Struts2框架来处理表单提交的数据。 首先,我们来看看核心组件`Struts.xml`。这是Struts2应用的主要配置文件,用于定义动作(Actions)、结果...

    struts2版注册表单.rar

    开发者会在JSP中使用Struts2的标签库,如`s:form`、`s:textfield`、`s:submit`等,这些标签简化了与Action交互的过程,同时也方便了表单的渲染。 在MyEclipse环境下,你可以通过导入这个项目,配置好相应的服务器...

    Struts2多个文件上传

    在Struts2中,文件上传功能是一个常用特性,尤其在处理用户提交的多个文件时。本文将详细讲解如何使用Struts2进行多个文件的上传,重点是使用List集合进行上传。 首先,要实现Struts2的文件上传,必须引入必要的...

    Struts2 表单 重复提交

    "防止表单重复提交 token"是Struts2提供的一种解决方案,通过在请求中加入一个唯一的token来确保请求的唯一性和一致性。 首先,我们来看如何实现这个机制。在Struts2中,我们可以使用拦截器(Interceptor)来实现...

    struts2的s标签

    Struts2框架是Apache软件基金会下的一个开源项目,它提供了一种基于MVC(Model-View-Controller)设计模式的Web应用开发框架。Struts2提供了丰富的标签库,其中“S标签”(S-tags)是一种特殊的标签集合,用于简化...

    Struts2实例 国际化 类型转换 struts标签

    总结起来,这个Struts2实例项目通过整合国际化、类型转换和Struts2标签,构建了一个完整的用户管理系统,展示了如何在实际开发中高效地处理Web请求,实现业务逻辑,并提供多语言支持。这样的练习有助于提升开发者对...

    李顺利Struts2表单验证后回显错误信息 标签使用

    Struts2作为一款流行的Java Web框架,其在处理表单数据和验证方面有着强大的功能。在实际开发中,为了提供良好的用户体验,表单验证失败时通常需要将错误信息回显给用户。李顺利老师通过他的讲解,让我们深入理解了...

    struts2 标签库 帮助文档

    Struts 2 标签库(文档手册) Tags-API-CLSW-JSP &lt;%@ taglib prefix="s" uri="/struts-tags" %&gt; 就能使用struts2.0的标签库 下面就介绍每个标签的具体应用实例说明:按字母排列 A: 1. 2. &lt;s:a href=""&gt;&lt;/s:a&gt;-...

    jquery-form 异步提交表单

    为了解决这个问题,jQuery Form插件应运而生,它允许我们实现异步(Ajax)表单提交,提高页面的响应性和用户体验。 ### jQuery Form 插件介绍 jQuery Form插件是基于jQuery的一个强大工具,它可以轻松地将任何HTML...

Global site tag (gtag.js) - Google Analytics