struts2标签:doubleselect学习心得标签

举个例子:
Data Object:

public class Book {
        private int id;
        private String name;
        private int categoryId;

       
}

public class Category {
        private int id;
        private String name;


}

JSP:
<s:doubleselect list="categoryList" listKey="id" listValue="name"
   doubleName="bookId" doubleList="bookMap.get(top.id)" doubleListKey="id" doubleListValue="name" theme="simple"/>

此处要注意的是top的用法,开始我以为top就是指代list的值,所以使用的是bookMap.get(top),但是二级下拉框一直是空白,后来我突然想到说不定top是一个Category实例呢,尝试了一下top.id,果然成功了。需要着重注意的是dobuleList的获值方法,id为List属性循环的ListKey的值。

Action:

public class DemoAction {
        private Map<Integer, List<Book>> bookMap;
        private List<Category> categoryList;

        public String execute() throws Exception {
                categoryList = new ArrayList<Cateogry>();

                Category category;
                category = new Category();
                category.setId(1);
                category.setName("Fiction");
                categoryList.add(category);
                category = new Category();
                category.setId(2);
                category.setName("Java");
                categoryList.add(category);

 

                bookMap = new HashMap<Integer, List<Book>>();

                List<Book> bookList = new ArrayList<Book>();
                Book book;
                book = new Book();
                book.setId(1);//该出的1为Category的id,根据Category的id获得对应的book
                book.setName("Harry Porter");
                book.setCategoryId(1);
                bookList.add(book);

                book = new Book();
                book.setId(2);
                book.setName("Nightmare");
                book.setCategoryId(1);
                bookList.add(book);

                bookMap.put(1, bookList);

 

                bookList = new ArrayList<Book>();
                book = new Book();
                book.setId(3);
                book.setName("Thinking in Java");
                book.setCategoryId(2);
                bookList.add(book);
                book = new Book();
                book.setId(4);
                book.setName("Head First Design Patterns");
                book.setCategoryId(2);
                bookList.add(book);

                bookMap.put(2, bookList);


                return SUCCESS;
        }

        // getter and setter..
}


名  字
 数据类型
 默  认  值
 说  明
 
doubleCssClass
 String
  用来呈现第二个select元素的CSS类
 
doubleCssStyle
 String
  用来呈现第二个select元素的CSS样式
 
doubleDisabled
 boolean
 false
 是否禁用第二个select元素
 

 

doubleEmptyOption
  false
 是否要在第二个select元素里插入一个空白选项
 
doubleHeaderKey
 String
  第二个select元素的标题的键
 
doubleHeaderValue
 String
  第二个select元素的标题的值
 
doubleId
 String
  第二个select元素的标识符
 
doubleList*
 String
  用来充当第二个select元素的选项来源的可遍历对象
 
doubleListKey
 String
  为第二个select元素提供选项值的对象属性
 
doubleListValue
 String
  为第二个select元素提供选项行标的对象属性
 
doubleMultiple
 boolean
 false
 是否允许用户在第二个select元素里进行“多选多”选择
 
doubleName*
 String
  第二个select元素的名字
 
doubleSize
 integer
  在第二个select元素里需要显示的选项的个数
 
doubleValue
 String
  第二个select元素的值
 
emptyOption
 boolean
 false
 是否要在第一个select元素里插入一个空白选项
 
formName
 String
  包含这个组件的表单的名字
 
headerKey
 String
  第一个select元素里的标题的键
 
headerValue
   第一个select元素里的标题的值
 
list
   用来充当第一个select元素的选项来源的可遍历对象
 
listKey
 String
  为第一个select元素提供选项值的对象属性
 
listValue
 String
  为第一个select元素提供选项行标的对象属性
 
multiple
 boolean
 false
 是否允许用户在第一个select元素里进行“多选多”选择
 
size
 integer
  在第一个select元素里需要显示的选项的个数
 

 

 

你可能感兴趣的:(exception,struts,String,list,Class,getter)