假如我们要在JSP中让用户选择他属于哪个国家
action里有个User的bean对象,user这个PO里有id,userName和Country对象,Country这个PO里有id,countryName;
<s:select>静态加载:
<s:select list="#{'0':'中国','1':'美国','2':'英国'}" cssStyle="width:130px;" name="user.country.id"></s:select>
<s:select>动态加载
方法1:
后台DAO取出对应的List<Country> countryList;
后台业务层将countryList转化为Map<Integer,String> countryMap,key为id,value为countryName;
action中添加Map<Integer,String> countryMap对象并将业务层的MAP赋值给他;
JSP代码:
<s:select list="countryMap" name="user.country.id"></s:select>
标签中list属性对应action中的countryMap,<option>的value值和显示值对应Map的K/V对
方法2:后台DAO取出对应的List<Country> countryList;
action中添加List<Country> countryList对象并将DAO层的LIST赋值给他;
JSP代码:
<s:select list="countryList" listKey="country.id" listValue="country.countryName" name="user.country.id">
标签中list属性对应action中的countryList,<option>的value值和显示值对应标签中的listKey属性(对应List封装的PO即Country的id)和listValue属性(对应List封装的PO即Country 的countryName).
注:<s:select>的headerKey,headerValue为默认的<option>的value值和显示值
例如:在action中添加一个Country country对象作为JSP显示的默认值
JSP代码:
<s:select list="countryList" listKey="country.id" listValue="country.countryName" name="user.country.id" headerKey="country.id" headerValue="country.countryName">
struts2的select标签用法
最新推荐文章于 2018-09-18 23:09:14 发布