Struts2类型转换(二) 集合类型

情况一 : HTML复选框 与 List<String>:

1 jsp页面:

Html代码

<form action="login.action" >
<input type="checkbox" value="1" name="aihao"/>足球<br>
<input type="checkbox" value="2" name="aihao"/>音乐 <br>
<input type="checkbox" value="3" name="aihao"/>小说<br>
<input type="checkbox" value="4" name="aihao"/>电玩<br>

<input type="submit" value="提交"/>
</form>

2 Action

Java代码

public class LoginAction extends ActionSupport
{
private List<String> aihao;
set,get方法略...
@Override
public String execute()throws Exception
{
return "success";
}
}

3 success.jsp 结果页面

Html代码

<s:iterator id="ah" value="aihao">
list:<s:property value="ah"/>
</s:iterator>

情况二 : List<User>

针对 List<User>写一个转换器

情况三 : Map集合

1)注册局部类型转换器, 假定请求的LoginAction 来处理, 我们就要篇写LoginAction- conversion.properties文件 .本文件要与LoginAction.java放再同一文件夹

2)对于 Map类型,要同时指定key和value的类型, LoginAction-conversion.properties 写如下:

指定key类型:  Key_ Map类型的属性的属性名=key类型的全限定类名

指定value类型: Element_ Map类型的属性的属性名=value类型的全限定类名

我看 用处不大, 没做具体的例子,无代码.

情况四: Set集合

与List一样, 不写了.

时间: 2025-01-19 19:48:51

Struts2类型转换(二) 集合类型的相关文章

Struts2类型转换(一) 常规类型,自定义类型,错误处理

Struts2的类型转换是基于OGNL表达式的.有良好的扩展性. WEB应用接收到表单提交的数据都 是String类型的,Struts2可方便的转换为 常规类型(数值,日期)/ 自定义类型(User,Point类). 如果转换中出现异常,conversionError拦截器会自动处理该异常. 一, 常规类型的转换: 比如表单提交的信息有 用户名,生日, 年龄, Action中对应的数据类型分别是 String, Date, int.没什么好说的, Struts2会自动完成. Struts2内建了

[Google Guava] 2.2-新集合类型

原文链接 译文链接 译者:沈义扬,校对:丁一 Guava引入了很多JDK没有的.但我们发现明显有用的新集合类型.这些新类型是为了和JDK集合框架共存,而没有往JDK集合抽象中硬塞其他概念.作为一般规则,Guava集合非常精准地遵循了JDK接口契约. Multiset 统计一个词在文档中出现了多少次,传统的做法是这样的: Map<String, Integer> counts = new HashMap<String, Integer>(); for (String word : w

Swift语法专题五——集合类型

Swift讲解专题五--集合类型 一.引言         Swift中提供了3种集合类型,Array数据类型,Set集合类型,Dictionary字典类型.Array用于存放一组有序的数据,数据角标从0开始一次递增:Set用于存放一组无序的数据,数据不可以重复:Dictionary也用于存放一组无序的数据,只是其是按照键值对的方式存储,键值必须唯一.这里借用官方文档中的一张图来表示3种集合类型的特点: 二.Array类型         Array通常也被称为数组,Swift是一种类型安全语言

15天玩转redis —— 第六篇 有序集合类型

今天我们说一下Redis中最后一个数据类型 "有序集合类型",回首之前学过的几个数据结构,不知道你会不会由衷感叹,开源的世界真好,写这 些代码的好心人真的要一生平安哈,不管我们想没想的到的东西,在这个世界上都已经存在着,曾几何时,我们想把所有数据按照数据结构模式组成 后灌输到内存中,然而为了达到内存共享的方式,不得不将这块内存包装成wcf单独部署,同时还要考虑怎么序列化,何时序列互的问题,烦心事太多 太多...后来才知道有redis这么个吊毛玩意,能把高级的,低级的数据结构单独包装到一

visual studio 2015 未能计算子集/集合类型调试

问题描述 visual studio 2015 未能计算子集/集合类型调试 在使用visual studio 2015 企业版 sp1调试程序时,悬停在实例.集合上时展开,无法显示内部数据,提示"未能计算子集"尝试多个项目.管理员运行,均是一样.设置"选项-调试-常规"中的 "托管兼容模式"后一般实例显示正常,但对于List/Dictionary集合类型实例,没有 展开枚举 的选项,只能通过"非公共成员"的entries查看不

《Redis入门指南(第2版)》一3.6 有序集合类型

3.6 有序集合类型 了解了集合类型后,小白终于被Redis的强大功能所折服了,但他却不愿止步于此.这不,小白又想给博客加上按照文章访问量排序的功能: 老师您好,之前您已经介绍过了如何使用列表类型键存储文章ID列表,不过我还想加上按照文章访问量排序的功能,因为我觉得很多访客更希望看那些热门的文章. 宋老师回答到: 这个功能很好实现,不过要用到一个新的数据类型,也是我要介绍的最后一个数据类型-有序集合. 3.6.1 介绍 有序集合类型(sorted set)的特点从它的名字中就可以猜到,它与上一节

关于集合类型属性序列化后丢失属性值的问题

问题描述 被序列化的类中有一个集合属性,大致如下面的代码所示:[Serializable]publicclassDataSubjectModel{publicObservableCollectionBase<DataPageModel>DataPageList{get;set;}} 另外在ObservableCollectionBase<T>中定义了一个名为Key的属性,代码如下:[Serializable]publicclassObservableCollectionBase&l

关于集合类型的依赖属性问题

问题描述 请大哥们指教,我要给Canvas增加一个集合类型的依赖属性ItemSource,请问如何实现这个依赖属性的改变通知 解决方案 解决方案二:继承System.ComponentModel.INotifyPropertyChanged接口,自己实现...去看MSDN...解决方案三:UP解决方案四:楼上的大哥,依赖属性的改变通知好像多数是使用PropertyChangedCallback,你说的这个在绑定源和依赖属性之间的改变通知上是不起作用的,INotifyPropertyChanged

Swift中内置的集合类型学习笔记_Swift

一.引言 Swift中提供了3种集合类型,Array数据类型,Set集合类型,Dictionary字典类型.Array用于存放一组有序的数据,数据角标从0开始一次递增:Set用于存放一组无序的数据,数据不可以重复:Dictionary也用于存放一组无序的数据,只是其是按照键值对的方式存储,键值必须唯一.这里借用官方文档中的一张图来表示3种集合类型的特点: 二.Array类型 Array通常也被称为数组,Swift是一种类型安全语言,其中的Array类型也必须确定其元素的类型,声明数组类型有两种方