-
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个答案 按时间排序 按投票排序
-
采纳的答案
可以这样写
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>
actionpackage 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来传递JSON数组,并在Struts2的Action中接收和处理这些数据。 首先,JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它易于人阅读和编写,同时也易于机器解析...
亲自做了一个struts2后台接收前台jsp页面传来的数组参数demo,因为参考网上的资源如用webwork表单提交等集成到项目有问题,所以做了一个单独的demo,经测试,用表单提交类似users[0].name,users[1].name的数组参数是...
在Struts2框架中,`<s:iterator>`标签被广泛用于遍历集合或数组等数据结构。本文将深入探讨如何使用Struts2中的`<s:iterator>`标签来遍历二维数组,并通过实例代码来具体说明其用法。 ### Struts2 Iterator标签 ##...
使用struts2表单传值,可以传一个或者是作为一个对象的各个属性传,都非常灵活便捷。但是如果我们需要传一个数组并希望struts正确接收,该怎么处理呢? 下面我将通过普通表单和ajax两种方式讲解。首先我们有如下一个...
你可以通过继承`org.apache.struts2.json.JSONResult`并覆盖`processType`方法,或者使用第三方库如Gson或Jackson来实现。 总结起来,将jQuery的AJAX与Struts2结合,可以通过JSON对象数组进行前后端的数据交互。在...
在Struts2中,`iterator`标签是用于遍历集合数据的重要工具,它可以用来迭代Map、List和数组等数据结构,以便在视图层进行展示。本篇文章将深入探讨`iterator`标签在遍历这些数据类型时的具体用法。 首先,我们来看...
在开发工具方面,IDE如Eclipse或IntelliJ IDEA可以提供强大的Struts1.2支持,包括代码自动完成、配置文件验证以及调试功能。此外,使用Maven或Ivy等构建工具可以帮助管理Struts1.2及其依赖,使得项目更加模块化和可...
Struts2是一个强大的Java web框架,它为开发者提供了一种优雅的方式来组织和构建应用程序,使得前端与后端的交互变得更加简单和高效。了解Struts2与前端交互的时序是理解整个应用程序工作流程的关键。 首先,让我们...
通过以上步骤,你就能够实现一个基于Struts2的多文件上传功能,同时通过过滤器确保了上传的安全性。这只是一个基本的实现,实际应用中可能还需要考虑其他因素,如并发上传、文件存储策略、用户权限控制等。
总结,Struts2、Ajax和JSON的组合使用使得前端能够动态地从服务器获取数据并更新页面,而无需刷新整个页面。这提高了应用的性能和用户体验。在实际项目中,这种技术常用于表格数据的动态加载、表单验证等场景。同时...
在这个场景下,我们关注的是如何在Struts2中迭代Map和List对象。这两种数据结构在Web开发中经常被用到,特别是在展示表单数据或动态渲染页面元素时。 首先,让我们深入了解`struts2-taglib`,这是一个包含Struts2...
3. **创建Struts2 Action**:在Struts2框架中,创建一个处理文件上传的Action类,该类通常会包含一个`List<HttpServletFileWrapper>`类型的属性,用于接收上传的文件。 4. **编写Struts2配置**:在struts.xml配置...
总结来说,将Struts2从2.0.xx或2.3.28.1升级到2.5.12是一个涉及多个步骤的过程,包括备份、下载新版本、更新配置、修改代码以及全面测试。这个过程对于保护你的应用免受潜在威胁至关重要,同时也能享受到新版本带来...
在Struts2中,Action类是业务逻辑的载体,每个Action类对应一个或多个用户操作。当用户提交表单或者触发某个URL时,相关的Action会被调用。 Struts2提供了多种方式来接收参数: 1. **使用setter方法**:这是最基础...
Struts2是一款非常流行的Java Web框架,用于构建企业级应用。然而,随着时间的推移,Struts2在安全方面暴露出了一些重要的漏洞,这给使用该框架的系统带来了潜在的安全风险。"Struts2漏洞检查工具Struts2.2019.V2.3...
在压缩包中的"example"文件可能包含了一个或多个使用Struts2标签的实际示例,可以参考这些示例来理解和学习Struts2标签的用法。通过实践,你会更好地掌握这些标签的功能和用法,从而在开发过程中更加得心应手。
6. **其他依赖的jar包**:Struts2运行还需要一些其他的库,如freemarker或velocity用于模板引擎,javassist用于动态类生成,log4j或slf4j用于日志记录等。 引入Struts2的jar包有多种方式: - **Eclipse/IDEA等集成...
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传递map list set到action