Struts2-学习笔记系列(12)-set集合
2016-06-04 22:36
645 查看
3.1编写类型转换器 只需实现 converFromString方法
public class UserConvert extends StrutsTypeConverter { @Override public Object convertFromString(Map map, String[] strings, Class aClass) { Set result = new HashSet(); for (int i = 0; i < strings.length; i++) { User user = new User(); String[] vals = strings[0].split(","); user.setName(vals[0]); user.setPwd(vals[1]); result.add(user); } return result; } @Override public String convertToString(Map map, Object o) { if (o.getClass() == Set.class) { Set users = (Set) o; String result = "["; for (Object obj : users) { User user = (User) obj; if (user != null && user.getName() != null) { result += "<" + user.getName() + "," + user.getPwd() + ">"; } } return result + "]"; } else { return ""; } } }
3.2告知struts在转换的时候,使用元素的name作为索引.在域中实现
public class User { public User() { } private String name; private String pwd; public String getPwd() { return pwd; } public void setPwd(String pwd) { this.pwd = pwd; } public String getName() { return name; } public void setName(String name) { this.name = name; } @Override public boolean equals(Object obj) { // 表明:action中的set user,使用元素name属性进行区分(set集合不能有重复项) if (this==obj) { return true; } if (obj != null && obj.getClass() == User.class) { User user = (User) obj; return this.getName().equals(user.getName()); } return false; } @Override public int hashCode() { return name.hashCode(); } }
3.3注册转换器
users=convert.UserConvert#指定action中users集合的索引(key)是name
KeyProperty_users=name
注意: 使用的是 == 而不是 equal
if (this==obj) {
return true;
}
3.4录入数据
<s:form action="login"> <s:textfield name="users" label="第一个用户信息"/> <s:textfield name="users" label="第二个用户信息"/> <tr> <td colspan="2"><s:submit value="转换" theme="simple"/> <s:reset value="重填" theme="simple"/></td> </tr> </s:form>
3.5访问set元素
<s:property value="users"/> <!-- 访问users集合属性里索引属性值为zcx的元素的name属性--> 用户zcx的用户名为:<s:property value="users('zcx').name"/><br/> <!-- 访问users集合属性里索引属性值为zjj的元素的name属性--> zjj:<s:property value="users('zjj').name"/><br/>
相关文章推荐
- Struts2-学习笔记系列(11)-使用StrutsTypeConverter
- java 实现二叉树的构建,先序,中序,后序,层次,递归,非递归的遍历
- Struts2-学习笔记系列(10)-自定义类型转换
- Struts2-学习笔记系列(10)-自定义类型转换
- java huffman树的构造和huffman编码
- java Web高并发解决方案
- java 图的邻接矩阵表示,深度优先遍历,广度优先遍历
- Struts2-学习笔记系列(9)-OGNL类型转换和类型绑定
- SpringMVC细节
- java 图的邻接表存储,广度优先遍历
- Spring笔记(三)
- Elasticsearch Client(JAVA API) JAVA实例
- Struts2-学习笔记系列(8)-异常处理
- Struts2-学习笔记系列(7)-PreResultListener
- Struts2-学习笔记系列(7)-PreResultListener
- JAVA :Jpanel 控件 无法显示问题
- java : JSP页面上中文乱码问题的解决经验
- Struts2-学习笔记系列(6)-动态调用action
- Struts2-学习笔记系列(5)-配置action
- Java中的IO流API整理