Struts2把数据封装到集合中之封装到map中
struts框架封装数据可以封装到集合中也可以封装到map中,该篇博客主要讲解将数据封装到map中。
1. 封装复杂类型的参数(集合类型 Collection 、Map接口等)
2. 需求:页面中有可能想批量添加一些数据,那么现在就可以使用上述的技术了。把数据封装到集合中
3. 把数据封装到Map中(双元素集合)
* Map集合是键值对的形式,页面的写法
> <input type="text" name="map['one'].name" />
* Action中提供map集合,并且提供get和set方法
以map集合为例:
1.创建javaBean类User:
package com.huida.domain;
public class User {
private String username;
private String password;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
@Override
public String toString() {
return "User [username=" + username + ", password=" + password + "]";
}
}
2.创建Action类Regist5Action:action类的写法与数据封装中的属性封装类似:定义属性map,对map定义其set和get方法。
package com.huida.action1; import java.util.Map; import com.huida.domain.User;
import com.opensymphony.xwork2.ActionSupport; public class Regist5Action extends ActionSupport{ private Map<String, User> map; public Map<String, User> getMap() {
return map;
} public void setMap(Map<String, User> map) {
this.map = map;
}
@Override
public String execute() throws Exception { for(String str:map.keySet()){
User user=map.get(str);
System.out.println(str+"..."+user);
}
return NONE;
} }
3.在struts.xml中对action进行配置:
<package name="demo" namespace="/" extends="struts-default">
<action name="regist5Action" class="com.huida.action1.Regist5Action"></action>
</package>
4.书写表单:
这里需要注意的地方:
(1)表单input标签中name的值中集合的名字map应该与Regist5Action中定义的属性名相同。
(2)map[ ]方括号里面的内容可以随便写,但是同一条记录中的两个输入框要保持一致。这里面的one相当于map的键值。
<h3>数据封装到map集合中</h3>
<!-- 将数据封装到集合中,可以封装多条数据,所以我们在这里多写几个记录 -->
<form action="${ pageContext.request.contextPath }/regist5Action.action" method="post">
姓名<input type="text" name="map['one'].username"/><br/><!-- map[ ]这里面的内容随便写,但是同一条记录中的两个输入框要保持一致。这里面的one相当于定义map中 的String类型的值 -->
密码<input type="text" name="map['one'].password"/><br/>
姓名<input type="text" name="map['two'].username"/><br/>
密码<input type="text" name="map['two'].password"/><br/>
<input type="submit" value="注册"> </form>
启动服务器,运行表单index.jsp。在输入框中输入姓名和密码,点击注册,在控制台输出如下内容表示封装成功:

Struts2把数据封装到集合中之封装到map中的更多相关文章
- Struts2把数据封装到集合中之封装到Collection中
数据封装到集合中,可以封装到集合中,也可以封装到Map中.该篇博客主要讲解数据封装到集合中的封装到Collection中. 1. 封装复杂类型的参数(集合类型 Collection .Map接口等) ...
- 对象属性封装到map中
import java.beans.PropertyDescriptor; import java.lang.reflect.Method; import java.lang.reflect.Modi ...
- list中的对象或者map中的版本号排序 version排序
经常会用到版本号排序,直接把他封装成一个工具用起来比较方便. List<A> aList = new ArrayList<>(); ...aList 赋值 ... Collec ...
- 3. 如何封装查询条件与查询结果到map中
public Map<String, Object> queryOrderStatus(String orderNo) { // 查询到的结果与查询的条件一一对应,封装到map中! Str ...
- map集合修改其中元素 去除Map集合中所有具有相同值的元素 Properties长久保存的流操作 两种用map记录单词或字母个数的方法
package com.swift.lianxi; import java.util.HashMap; import java.util.Iterator; import java.util.Map; ...
- Java集合——List,Set,Map总结笔记
1. 集合 Collection 1.1 Java 集合框架 Java 集合框架位于 java.util 包中.Java 集合框架主要包括两种类型的容器,一种是集合(C ...
- 修改Map中确定key对应的value问题
今天在码代码的时候出现一个没有预料的问题: 先看下面的代码: public static void main(String[] args) { String[] files=new String[]{ ...
- 十三 Struts2复杂类型的数据封装,List封装和Map封装
在实际开发当中,有可能遇到批量向数据库中插入记录,需要在页面中将数据封装到集合中.类似页面表达式方法 List封装: 前端JSP: <%@ page language="java&qu ...
- 十一 三种Struts2的数据封装方式,封装页面传递的数据
Struts2的数据封装:Struts2是一个web层框架,框架是软件的半成品.提供了数据封装的基本功能. 注:Struts2底层(核心过滤器里面的默认栈里面的拦截器,具体见struts-defaul ...
随机推荐
- 如何用java读取properties文件
1.Properties类与Properties配置文件 Properties类继承自Hashtable类并且实现了Map接口,也是使用一种键值对的形式来保存属性集.不过Properties有特殊的地 ...
- Windows下查看端口常用命令以及关闭端口的方法
1.C:\Users\JavaKam> netstat -ano|findstr 1099 TCP LISTENING TCP [::]: [::]: LISTENING 2.出现: C:\Us ...
- python类和对象的底层实现
按照python中"一切皆对象的原理",所有创建的对象,都是一个已知存在的class实例化的结果;那么class又是被哪个"类"实例化的呢?先看下面的一段代码 ...
- 通过DOS命令批量重命名文件
以下为提供的两种方法:遍历当前目录下的所有文件名以.avi结尾的文件,然后权限规则进行修改(规则含义请自行查找资料).第一种方法有缺陷,更改完所有的文件名后,会多改一次.请斟酌使用.第二种方法解决了第 ...
- Assetbundle创建与加载
[Assetbundle创建与加载] Unity有两种动态加载机制:一种是Resource.Load.一种是AssetBundle.Assetbundle是Unity Pro提供的功能,它可以把多个游 ...
- SSM商城项目(一)
1. 学习计划 1.电商行业的背景. 2.宜立方商城介绍 3.宜立方商城的系统架构 a) 功能介绍 b) 架构讲解 4.工程搭建-后台工程 a) 使用maven搭建工程 b) 使用maven的tomc ...
- jenkins 添加节点问题
没有 Launch agent via Java Web Start 选项 Manage Jenkins > Configure Global Security > TCP port fo ...
- soap 简单调用其他系统的函数
<?xml version ='1.0' encoding ='UTF-8' ?> <definitions name='自定义名称' targetNamespace='目标命名空间 ...
- clearfix原理
[clearfix原理] .clearfix:after { <----在类名为“clearfix”的元素内最后面加入内容: content: "."; <----内容 ...
- Spring整合EHCache框架
在Spring中使用缓存可以有效地避免不断地获取相同数据,重复地访问数据库,导致程序性能恶化. 在Spring中已经定义了缓存的CacheManager和Cache接口,只需要实例化便可使用. Spr ...