0 0

struts2如何从前台就收list或数组5

假设jsp页面输入了2个用户的信息,后台的action怎么接收这两个用户,以及jsp的<input type="text" name="??">标签的name写什么?

例如:
action中有一个属性:


private List<User> users;

public List<User> getUsers() {
    return users;
}

public void setUsers(List<User> users) {
    this.users = users;
}

// 或者 List<User> users 是数组的形式也可以,如 User[] users;



jsp

<form ……>
    <input type="text" name="users.user.userName" value="a">
    <input type="text" name="users.user.userName" value="b">
</form>


正常情况下,添加一个用户时:
jsp写上<input type="text" name="user.userName" value="a">
action里有个private User user;属性,并且给user添加get和set方法,那么提交了form后action不是能自动把接收到得user信息放进user属性里么,现在是有多个user需要在一个页面添加,那么jsp怎么写,action应该用什么样的属性(数组也好list、set也好)接收多个user?
2011年12月24日 18:54

1个答案 按时间排序 按投票排序

0 0

采纳的答案

可以这样写
jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"  %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'mangForm.jsp' starting page</title>
    
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	--> 
  </head>
  
  <body>
   
   <s:form action="wuliu" method="post" theme="simple">
   <table border="1">
     <tr style="background:gray;">
       <td>date</td>
       <td>company</td>  
       <td>price</td> 
     </tr>
     
     <s:iterator status="i"   value="new int[3]">
         <tr> 
           <td><s:textfield name="%{'list['+#i.index+'].date'}"/></td>
           <td><s:textfield name="%{'list['+#i.index+'].company'}"/></td>
           <td><s:textfield name="%{'list['+#i.index+'].price'}"/></td>
         </tr>
    </s:iterator>
    </table>
    <s:submit></s:submit>
    </s:form>  
    <hr>
   
  </body>
</html>


主要是
<s:iterator status="i"   value="new int[3]">
         <tr>
           <td><s:textfield name="%{'list['+#i.index+'].date'}"/></td>
           <td><s:textfield name="%{'list['+#i.index+'].company'}"/></td>
           <td><s:textfield name="%{'list['+#i.index+'].price'}"/></td>
         </tr>
    </s:iterator>


action
package servlet;

import java.util.Date;
import java.util.List;

import com.opensymphony.xwork2.ActionSupport;

public class WuliuAction extends ActionSupport {

	private List<Wuliu> list; 
	public List<Wuliu> getList() {
		return list;
	} 
	public void setList(List<Wuliu> list) {
		this.list = list;
	} 
	@Override
	public String execute() throws Exception { 
		 for (Wuliu wl:list) {
			 System.out.println(wl.getCompany()+"|"+wl.getDate()+"|"+wl.getPrice());
		}
		return SUCCESS;
	} 
    public String update()
    { 
    	 for (Wuliu wl:list) {
			 System.out.println(wl.getCompany()+"|"+wl.getDate()+"|"+wl.getPrice());
		}
    	return null;
    	
    }
}

2011年12月29日 17:37

相关推荐

    AJAX和struts2传递JSON数组

    在本场景中,我们将探讨如何使用AJAX来传递JSON数组,并在Struts2的Action中接收和处理这些数据。 首先,JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它易于人阅读和编写,同时也易于机器解析...

    struts2接收数组参数demo

    亲自做了一个struts2后台接收前台jsp页面传来的数组参数demo,因为参考网上的资源如用webwork表单提交等集成到项目有问题,所以做了一个单独的demo,经测试,用表单提交类似users[0].name,users[1].name的数组参数是...

    struts2 iterator标签遍历二维数组

    在Struts2框架中,`&lt;s:iterator&gt;`标签被广泛用于遍历集合或数组等数据结构。本文将深入探讨如何使用Struts2中的`&lt;s:iterator&gt;`标签来遍历二维数组,并通过实例代码来具体说明其用法。 ### Struts2 Iterator标签 ##...

    通过Ajax两种方式讲解Struts2接收数组表单的方法

    使用struts2表单传值,可以传一个或者是作为一个对象的各个属性传,都非常灵活便捷。但是如果我们需要传一个数组并希望struts正确接收,该怎么处理呢? 下面我将通过普通表单和ajax两种方式讲解。首先我们有如下一个...

    jquery的ajax传json对象数组到struts2的action

    你可以通过继承`org.apache.struts2.json.JSONResult`并覆盖`processType`方法,或者使用第三方库如Gson或Jackson来实现。 总结起来,将jQuery的AJAX与Struts2结合,可以通过JSON对象数组进行前后端的数据交互。在...

    Struts2 iterator 标签遍历 Map,List,数组(三十六)

    在Struts2中,`iterator`标签是用于遍历集合数据的重要工具,它可以用来迭代Map、List和数组等数据结构,以便在视图层进行展示。本篇文章将深入探讨`iterator`标签在遍历这些数据类型时的具体用法。 首先,我们来看...

    struts1.2 from表单提交包含list的对象

    在开发工具方面,IDE如Eclipse或IntelliJ IDEA可以提供强大的Struts1.2支持,包括代码自动完成、配置文件验证以及调试功能。此外,使用Maven或Ivy等构建工具可以帮助管理Struts1.2及其依赖,使得项目更加模块化和可...

    struts2与前台交互时序

    Struts2是一个强大的Java web框架,它为开发者提供了一种优雅的方式来组织和构建应用程序,使得前端与后端的交互变得更加简单和高效。了解Struts2与前端交互的时序是理解整个应用程序工作流程的关键。 首先,让我们...

    基于struts2的用数组接受多个文件上传+过滤器

    通过以上步骤,你就能够实现一个基于Struts2的多文件上传功能,同时通过过滤器确保了上传的安全性。这只是一个基本的实现,实际应用中可能还需要考虑其他因素,如并发上传、文件存储策略、用户权限控制等。

    Struts2+ajax+json返回list.docx

    总结,Struts2、Ajax和JSON的组合使用使得前端能够动态地从服务器获取数据并更新页面,而无需刷新整个页面。这提高了应用的性能和用户体验。在实际项目中,这种技术常用于表格数据的动态加载、表单验证等场景。同时...

    struts2迭代 Map List

    在这个场景下,我们关注的是如何在Struts2中迭代Map和List对象。这两种数据结构在Web开发中经常被用到,特别是在展示表单数据或动态渲染页面元素时。 首先,让我们深入了解`struts2-taglib`,这是一个包含Struts2...

    swfuplaod+struts2实现多文件上传

    3. **创建Struts2 Action**:在Struts2框架中,创建一个处理文件上传的Action类,该类通常会包含一个`List&lt;HttpServletFileWrapper&gt;`类型的属性,用于接收上传的文件。 4. **编写Struts2配置**:在struts.xml配置...

    Struts2漏洞2.0.xx升级为Struts-2.5.12步骤

    总结来说,将Struts2从2.0.xx或2.3.28.1升级到2.5.12是一个涉及多个步骤的过程,包括备份、下载新版本、更新配置、修改代码以及全面测试。这个过程对于保护你的应用免受潜在威胁至关重要,同时也能享受到新版本带来...

    struts2 接收参数

    在Struts2中,Action类是业务逻辑的载体,每个Action类对应一个或多个用户操作。当用户提交表单或者触发某个URL时,相关的Action会被调用。 Struts2提供了多种方式来接收参数: 1. **使用setter方法**:这是最基础...

    Struts2漏洞检查工具Struts2.2019.V2.3

    Struts2是一款非常流行的Java Web框架,用于构建企业级应用。然而,随着时间的推移,Struts2在安全方面暴露出了一些重要的漏洞,这给使用该框架的系统带来了潜在的安全风险。"Struts2漏洞检查工具Struts2.2019.V2.3...

    struts2标签使用例子

    在压缩包中的"example"文件可能包含了一个或多个使用Struts2标签的实际示例,可以参考这些示例来理解和学习Struts2标签的用法。通过实践,你会更好地掌握这些标签的功能和用法,从而在开发过程中更加得心应手。

    struts2jar包

    6. **其他依赖的jar包**:Struts2运行还需要一些其他的库,如freemarker或velocity用于模板引擎,javassist用于动态类生成,log4j或slf4j用于日志记录等。 引入Struts2的jar包有多种方式: - **Eclipse/IDEA等集成...

    struts2-core.jar

    struts2-core-2.0.1.jar, struts2-core-2.0.11.1.jar, struts2-core-2.0.11.2.jar, struts2-core-2.0.11.jar, struts2-core-2.0.12.jar, struts2-core-2.0.14.jar, struts2-core-2.0.5.jar, struts2-core-2.0.6.jar,...

    Struts2漏洞测试

    Struts2漏洞测试Struts2漏洞测试Struts2漏洞测试Struts2漏洞测试Struts2漏洞测试Struts2漏洞测试Struts2漏洞测试Struts2漏洞测试Struts2漏洞测试Struts2漏洞测试Struts2漏洞测试Struts2漏洞测试Struts2漏洞测试...

    struts2传递map list set到action

    struts2传递map list set到action

Global site tag (gtag.js) - Google Analytics