struts2 doubleselect 示例
doubleselect 算是 Struts2 中稍微复杂点的表单标签, 尤其官方示例比较简单, 没有太大的实
用价值.
<s:doubleselect label="doubleselect test2" name="menu" list="#{'fruit':'Nice
Fruits', 'other':'Other Dishes'}" doubleName="dishes" doubleList="top == 'fruit' ?
{'apple', 'orange'} : {'monkey', 'chicken'}" />
从这个官方示例中可以看到基本用法, list 开头的代表的是第一级下拉框的属性, doubleList
开头的则是第二级下拉框. 与 select 标签的属性基本是对应的.
在实际应用中, 我们比较关注的就是 list 和 doubleList 这两个属性了, list 是存放的第一级
下拉框的数据集合, 比如 List<FatherBean>, 而 doubleList 就可以用 Map<String,
List<SonBean>>来存储, 其中 map 的键名 String 与第一级下拉框相关联.
现在来展示一个我写的示例:
先写两个 javaBean,一般情况下是跟数据库的表相关联的:
package com.dxm.entity;
import java.util.HashSet;
import java.util.Set;
public class Item implements java.io.Serializable {
private static final long serialVersionUID = 1L;
private int itemid;
private String itemname;
private int itemcode;
private Set subitems = new HashSet(0);
//set和get方法
}
package com.dxm.entity;
public class Subitem implements java.io.Serializable {
private static final long serialVersionUID = 1L;
private int subid;
private Item item;
private String subname;
private int subcode;