`
Rainbow702
  • 浏览: 1073099 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类

strut中,如何向台传输LIST类型的数据

阅读更多

对于将页面中单个String类型的数据传输到后台,我想只要使用过struts2的肯定是会的。

今天遇到一个问题是,要将一个List类型的数据传输到后台。

场景:

有一个 新建角色 的页面,在这个页面中,可以选定任意的人加入到这个角色中。

 

最终我设计的类如下:

首先是  action:(只留了说明需要的代码)

public class RoleAction {

	private Role role;

	public Role getRole() {
		return role;
	}

	public void setRole(Role role) {
		this.role = role;
	}
}

其中,Role类如下:

public class Role {
	
	private List<User> user;

	public List<User> getUser() {
		return user;
	}

	public void setUser(List<User> user) {
		this.user = user;
	}
}

使用到的User类如下:

public class User {

	private int id;

	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}
}

基于上面的结构,我们要怎么才能把页面上,选择的用户的ID传递给Action中role字段对应的Role类所使用的User类呢?(这句比较绕,其实就是类的包含关系)。

下面请看前台代码 :

<input type='text' name='role.user[0].id' value='1' />
<input type='text' name='role.user[1].id' value='2' />
<input type='text' name='role.user[2].id' value='3' />

请各位一字看仔细了,重点就是 name 属性的值,其中 role 是Action类中 role 字段的名称, user 是Role类中 user 字段的名称,id 是User类中的id字段的名称。

user后面跟着下标,struts2 会根据这个去创建对象。

上面的HTML代码 ,最终会在 role中创建三个User,它们的Id分别为 1  2  3 。

 

如果事先不知道List的个数的话,可以将要数据存储在前台的数组中,最后提交的时候,先使用JavaScript循环创建所需要的input元素,然后再提交表单,这样就可以搞定了。

分享到:
评论

相关推荐

    使用Struts2的JSON插件来实现JSON数据传递

    在Web应用中,JSON常用于前后端的数据传输,因为它可以被JavaScript直接解析,从而简化了客户端的数据处理。 Struts2 JSON插件的安装与配置是使用其功能的第一步。首先,你需要将struts2-json-plugin相关的JAR文件...

    struts2框架json传递后台数据到echarts

    在Struts2中,我们可以利用JSON(JavaScript Object Notation)这种轻量级的数据交换格式来有效地传输数据,尤其是在与前端交互时,如使用Echarts这样的数据可视化库。Echarts是一款基于JavaScript的开源图表库,它...

    实例:ExtjsTest+struts传输json格式的list对象

    本实例将探讨如何在ExtJS和Struts框架下,实现JSON格式的list对象的传输,从而提高数据交互的效率和灵活性。 首先,ExtJS是一个强大的JavaScript库,主要用于构建桌面级的Web应用。它提供了丰富的组件和数据管理...

    ext2.2+struts2使用json传输数据生成的树

    为了返回`JSON`数据,我们需要配置Action类返回一个`JsonResult`类型的结果,这可以通过添加`struts-plugin.xml`中的相关配置实现。同时,在Action类中,我们可以将需要转换为`JSON`的数据集合(例如,树的节点信息...

    UserInfoSys.rar_flex_flex strut_flex struts _flex struts2 list_s

    在Flex与Struts2的集成过程中,通常会采用AMF(Action Message Format)协议,这是一种二进制数据交换格式,能够快速高效地传输复杂的数据结构。在“UserInfoSys”中,AMF使得Flex与服务器之间的通信更加流畅,降低...

    struts2 json传输对象文档+jar包

    标题提到的"struts2 json传输对象文档"是指Struts2支持JSON格式的数据传输,使得Action类可以直接返回JSON对象,以便在客户端进行处理。这种功能极大地提高了Web应用的响应速度和用户体验,因为可以避免不必要的页面...

    struts2+jquery+json+List

    Struts2、jQuery、JSON和List是Web开发中常见的技术栈,它们在构建动态、交互式的Web应用程序中...通过学习和实践,开发者可以更好地掌握在Struts2环境中利用jQuery和JSON处理List数据的方法,提升Web应用的用户体验。

    struts2简单实例

    这个"struts2简单实例"是针对学生信息查询功能的实现,它演示了如何利用Struts2的核心机制来处理用户请求、展示数据以及进行后台数据传输。以下是关于这个实例的详细知识点: 1. **Struts2框架基础**: - Struts2...

    sturts框架下返回json数据 list map 对象

    在Struts框架中,返回JSON数据主要涉及到以下几个方面: 1. **依赖引入**:首先,你需要添加相应的JSON库,如`json-lib.jar`或`org.json.jar`。这些库提供了将Java对象转换为JSON字符串的功能。在描述中提到的`...

    struts2中json的使用

    在Struts2中,JSON(JavaScript Object Notation)被广泛用于在客户端和服务器之间传输数据,尤其是对于AJAX请求。JSON是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。 在描述的问题中...

    struts2+json省市区级联显示

    首先,我们需要在Struts2的配置文件(struts.xml)中配置Action,指定其返回类型为json,这样当Action执行完毕后,可以将结果封装成JSON对象并返回给前端。例如: ```xml &lt;param name="root"&gt;provinceList `...

    struts2使用json返回对象和列表(案例)

    Struts2是一个流行的Java web框架,它主要用于构建MVC(模型-视图-...通过正确配置和使用,你可以轻松地在Struts2应用中实现JSON数据的返回,无论是对象还是列表,都能以JSON格式传输,极大地提升了Web应用的交互体验。

    struts2.0中的ognl

    在Struts2中,OGNL被用来作为视图层和控制器之间的数据绑定工具,使得数据传输更加简洁高效。 二、OGNL在Struts2中的作用 1. 表单数据绑定:在Struts2中,用户提交的表单数据可以直接通过OGNL绑定到Action类的属性...

    struts2学习笔记黑马程序员

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于读写且被广泛应用于Web应用的数据传输中。其核心特性在于独立于编程语言的文本格式,易于解析与生成。 **JSON结构** 1. **对象**:以花括号`{...

    json包及依赖包 struts2集成包

    这个库支持多种数据结构,如JDBC结果集、JavaBean、Map、List等,使得在Java应用中处理JSON数据变得简单。 `struts2-json-plugin-2.1.8.1`是Struts2的JSON插件的一个版本,它包含了处理JSON请求和响应的类和配置,...

    Struts2中使用JSON

    在Struts2中使用JSON(JavaScript Object Notation)可以方便地将服务器端的数据传输到客户端,通常用于AJAX请求或者创建RESTful API。JSON是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成...

    struts2批量下载

    `contentType`参数设置为`application/octet-stream`表明数据将以二进制形式传输,`charset`参数则用于指定字符编码,这里设置为`ISO8859-1`。 4. **批量下载实现**: 批量下载通常涉及到在`DownloadAction`中处理...

    struts2 result type 介绍

    3. **Stream**:用于处理需要流式传输的内容,比如下载文件或图片,它能直接将数据写入到HTTP响应的输出流中。 4. **Httpheader**:允许设置HTTP响应头,比如设置缓存控制、内容类型等。 开发者还可以自定义Result ...

    java struts2实现文件上传进度条显示

    你需要在Action类中添加`@FileUpload`注解,表示该Action支持文件上传,并定义一个`List&lt;FileInfo&gt;`类型的属性来接收上传的文件,其中`FileInfo`是你自定义的实体类,用来存储文件信息。 接着,为了实现进度条效果...

Global site tag (gtag.js) - Google Analytics