`
舟舟同学
  • 浏览: 45434 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

struts2开发5--从客户端批量提交数据到服务器端

阅读更多

在项目开发过程中,很多时候需要同时提交多条数据到服务器,例如在客户端要同时将下表中姓名,年龄,职位等信息同时提交到服务器,实现批量添加。

姓名    年龄   职位
  张三 2岁 学生
 李四 1岁 学生

这里介绍一种方法供大家参考。具体步骤如下:

第一步:在项目中新建User类,具体代码如下:

package cn.test.Bean;
public class User {
 private String name;//姓名
 private int age;//年龄
 private String position;//职位

 public String getName() {
  return name;
 }

 public void setName(String name) {
  this.name = name;
 }

 public int getAge() {
  return age;
 }

 public void setAge(int age) {
  this.age = age;
 }

 public String getPosition() {
  return position;
 }

 public void setPosition(String position) {
  this.position = position;
 }

}

第二步:创建ProlistAction,代码如下:

package cn.test.action;

import java.util.List;

import cn.test.Bean.User;

import com.opensymphony.xwork2.ActionSupport;

public class ProlistAction extends ActionSupport {
 private List<User> prolist;// 泛型对象prolist

 public List<User> getProlist() {
  return prolist;
 }

 public void setProlist(List<User> prolist) {
  this.prolist = prolist;
 }

 public String UseraddUI() throws Exception {
  return "UaddUI";
 }

 @Override
 public String execute() throws Exception {
  // TODO Auto-generated method stub
  if(prolist!=null)
  {
 for(int i=0;i<prolist.size();i++)
 {
  System.out.println(prolist.get(i).getName());
 }
  }
  return "Usuccess";
 }
}
第三步,新建UaddUI.jsp文件,用来显示输入界面:

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<style type="text/css">
.addpro{
list-style: none;
width: 800px;
margin: 0 0 0 180
}
.addpro li
{
border: solid thin #cccccc;
list-style: none;
float: left;
width:150px;
text-align: center;
}
</style>
<ul id="h" class="addpro">
  <li style="font-weight: bold;"> 姓名 </li>
  <li style="font-weight: bold;"> 年龄 </li>
  <li style="font-weight: bold;"> 职位</li>
</ul>
<br>
<s:form action="U_execute" theme="simple" cssStyle="margin-top:0px;">
<s:iterator value="new int[3]" status="st">
<ul id="h" class="addpro">
<li><s:textfield name="%{'prolist['+#st.index+'].name'}" size="15"></s:textfield></li>
<li><s:textfield name="%{'prolist['+#st.index+'].age'}" size="15"></s:textfield></li>
<li><s:textfield name="%{'prolist['+#st.index+'].position'}" size="15"></s:textfield></li>
</ul>
</s:iterator>
<s:submit value="确认添加" cssStyle="margin-left:450px;"></s:submit>
</s:form>

关键代码说明:

在上述表单From中,使用struts的iterator 标签来循环输出了三行内容,每行内容表示一个用户的信息。这里要注意的是textfield标签的name属性值。例如name="%{'prolist['+#st.index+'].age}" ,其中'prolist是Action类型的属性名,#st.index是要集合的下表索引,age是泛型集合类型User类中的属性名。

第四步,创建Useccess.jsp,来显示刚添加的信息

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<s:iterator value="prolist" var="pro" status="st">
<s:property value= "#pro.name"/>
<s:property value="#pro.age"/>
<s:property value="#pro.position"/>
</s:iterator>
这里使用iterator标签循环遍历集合对象prolist,使用property 标签 输出该集合元素中的属性。

第五步,配置struts.xml文件

<action name="U_*" class="cn.test.action.ProlistAction" method="{1}">
        <result name="UaddUI">/WEB-INF/jsp/UaddUI.jsp</result>
        <result name="Usuccess">/WEB-INF/jsp/Usuccess.jsp</result>
        </action>

第六步,部署项目,启动tomcat,在浏览器中输入:http://localhost:8080/MyWeb/U_UseraddUI

注意,大家如果要把客户端提高过来的批量数据保存到数据库的话,可以先在Action中把list中的对象全部取出来,再保存到数据库中。

参考实现代码:

for(int i=0;i<prolist.size();i++)
 {
           prolist.get(i);//得到保存了客户端数据的对象
 }

再保存即可。

 

0
7
分享到:
评论

相关推荐

    提交多行数据到Struts的ActionForm的List属性中

    当我们需要在客户端提交多行数据时,通常会利用表单来收集信息,然后将这些数据传递到服务器端的ActionForm。这个过程涉及到如何将客户端的数据组织成一个集合,如List,并将其绑定到ActionForm的属性上。在本篇中,...

    struts2+ajax实现批量上传文件(简单实现,自己加工)

    在服务器端,Struts2 Action会接收到这个请求,然后使用Apache Commons FileUpload库(由于压缩包中没有包含,你需要自行添加)来解析请求体中的文件数据。FileUpload库可以帮助你方便地处理多个上传文件,包括读取...

    基于SSH框架的智能停车系统-服务器和客户端

    在这个系统中,分为服务器端和客户端两个部分,分别负责数据处理和服务交互。 **Spring框架**是核心的依赖注入(DI)容器,它负责管理应用中的对象及其依赖关系。Spring提供了事务管理、AOP(面向切面编程)、MVC...

    jquery+uploadify + struts2 + jsp 图片批量上传Demo

    Struts2是Java Web开发中的一款流行MVC框架,它负责处理来自客户端的请求,执行业务逻辑,并返回响应。在图片上传的流程中,Struts2接收Uploadify发送的文件,将其保存在服务器的指定位置,并可能执行一些验证和处理...

    struts2验证码

    5. **集成Struts2插件**:Struts2社区提供了验证码插件,如`struts2-convention-plugin`和`struts2-jquery-plugin`,它们简化了验证码的实现。开发者可以根据需求选择合适的插件,快速集成验证码功能。 在实际开发...

    基于Java的实例源码-Struts验证码插件 JCaptcha4Struts2.zip

    2. **生成验证码**:在服务器端,插件会创建一个JCaptcha对象,生成一个唯一的验证码字符串并将其保存在session中,同时将对应的图像输出到客户端。 3. **前端展示**:在HTML表单中,需要添加一个图像标签来显示...

    Struts2,hibernate,dwr3的框架整合

    3. **整合Struts2和DWR**:在Struts2的Action中使用DWR的方法,使服务器端的数据可以直接传递到客户端,更新页面。通常,DWR的回调函数会在Action执行完毕后触发。 **应用场景**: 这种整合方式常用于开发需要复杂...

    Struts2使用SWF上传下载

    3. Struts2中的Action类接收到文件数据,将其保存到服务器指定位置,并返回确认信息。 4. SWFUpload接收到确认信息后,完成整个上传过程,更新用户界面状态。 三、Struts2中配置SWFUpload 1. 引入依赖:首先,需要...

    仿微信布局eclipse服务器端

    对于使用Eclipse作为开发环境的Java开发者来说,创建这样一个服务器端架构涉及到多个关键知识点。以下将详细阐述这些内容。 1. **服务器框架选择**:在Eclipse中,我们通常会选用Spring Boot或者Struts2等成熟的...

    struts中实现验证码

    当用户提交表单时,Struts2会将输入框中的验证码与服务器端生成的验证码进行比较。如果匹配,验证通过,否则返回错误信息提示用户重新输入。 通过以上步骤,Struts2框架能够提供一个完整的验证码解决方案,确保了...

    Jsp-online-reservation-system.rar_jsp_jsp+SQLserver_struts jsp_网

    开发者可以在JSP页面中编写Java代码,这些代码在服务器端执行并返回结果到客户端。JSP的核心概念包括指令(Directives)、动作(Actions)和脚本元素(Scripting Elements),它们共同构建了JSP的灵活性和功能。 **...

    web上传进度条(struts2+spring)

    总结来说,实现"web上传进度条"(Struts2+Spring)需要结合服务器端的异步处理、Ajax通信、前端的进度条显示以及文件上传的安全控制。这个过程涉及到了Web开发的多个层面,包括后端处理、前端交互和安全策略,为用户...

    plupload文件批量上传工具

    - **Multipart解析**:由于Plupload默认使用multipart/form-data格式发送文件,因此服务器端需要能够解析这种格式的数据。Spring MVC、Struts2等框架提供了内置的支持。 3. **配置与定制** - **初始化配置**:在...

    学生管理系统 JSP+Struts+hibernate

    首先,JSP是Java的一种动态网页技术,允许开发者将Java代码嵌入到HTML页面中,实现了服务器端的动态渲染。JSP的主要职责在于处理用户请求,生成动态内容,并将其返回给客户端。在本系统中,JSP用于展示学生信息、...

    基于struts1.x的验证码实现

    总结来说,基于Struts1.x的验证码实现是Web开发中的重要环节,它涉及到服务器端的生成、存储、验证,以及客户端的显示和用户交互。通过合理的验证码设计和实现,可以显著提高Web应用程序的安全性,保护用户的账户不...

    Struts2结合Jquery.uploadify上传插件的应用

    5. **错误处理**:对于可能出现的错误,如文件过大、文件类型不合法等,需要在客户端和服务器端进行适当的处理。在uploadify的配置中,可以通过设置各种事件处理器来处理错误。 6. **响应处理**:当文件上传成功后...

    struts1.2 上传,下载

    用户提交包含文件的表单后,服务器端的Action会接收到文件数据并进行处理。然而,这部分内容在提供的代码中并未涉及,因此我们不深入讨论上传部分。 下载文件则涉及服务器向客户端发送文件内容的过程。在提供的`...

    struts文件下载

    在Struts框架中,文件下载是一项常见的功能,它允许用户从服务器端获取并保存文件到本地计算机。在本文中,我们将深入探讨如何实现一个简单的Struts文件下载功能,并理解其核心概念。 首先,创建一个新的Web工程是...

Global site tag (gtag.js) - Google Analytics