jsp页面上的下拉框案例(Struts2)
<s:select></s:select>包含的属性有:list="" ;name="" ;value="" ;headerKey="" ;headerValue="" ;listKey="" ;listValue="" 。
list 属性:通常是在action中定义的,必须是一个可以迭代的源,如为一个List, Map, Set等。如果是一个Map,那么map的key就对应于select标签中的value,map中的value就对应于select标签中的 option。而如果是一个List或者是一个Set,那么可以通过listKey和listValue指定。注:该属性是必备属性;
如果list为空headKey 和headValue不能为空.listKey和listValue:listKey即对应于select标签中的value, listValue即对应于select标签中的option;
list : 源数据 (可以在action方法里从数据库获取list)
name : 被选数据存放的位置(这里我方在对象obj的属性值userName中<需在action中定义该对象>)
value : 默认值
有时候打开一个表单,所显示的下拉框要与某个字段对应,如下;
<s:select name="oilCanInfor.status" list="statusMap" listKey="key" listValue="value" value = "oilCanInfor.status" theme="simple"></s:select>
在statusMap中key所对应的就是oilCanInfor.status,如果value属性中写上这个属性,那么就能实现 打开表单时下拉框默认显示的是按某个字段来的效果。
listKey : 下拉选项的name
listValue : 下拉选项的value
上文提到过,如果list是一个MAP,那么map的key就对应于select标签中的value,map中的value就对应于select标签中的 option。如下;
<s:select id="cardfavour" list="cardFavourMap" headerKey="" headerValue="-全部-" name="cardPresent.cardfavour" theme="simple">
</s:select>
这里可以看到,在<s:select></s:select>中,value和option属性都没有写进去,这是因为当你输入一个Map时,如果下拉框没有特殊要求的话,是可以省略的,系统会会默认map的key就对应于select标签中的value,map中的value就对应于select标签中的 option,其中headerValue : 默认值value ;headerKey : 默认name
参考博客:http://blog.sina.com.cn/s/blog_7cc04ac801015gxb.html
最新文章
- Linux下FTP安装与配置
- 【Python基础学习一】在OSX系统下搭建Python语言集成开发环境 附激活码
- hdu 1029 Ignatius ans the Princess IV
- 《The Book of CSS3》学习笔记
- 微信html5开发选哪一个
- 【GDI+】一些规则多边形分离的问题
- hdu1003 dp(最大子段和)
- poj3233(矩阵快速幂)
- open-flash-chart2各种效果
- 【转】深入浅出:Linux设备驱动之字符设备驱动
- console引起的eclipse 僵死/假死 问题排查及解决[转]
- Hadoop的NullWritable
- Python——Flask框架
- HTML中的置换元素和非置换元素
- [android] 采用layoutInflater打气筒创建一个view对象
- python 装饰器的缺点以及解决方法
- web访问命令行
- 【BZOJ1560】[JSOI2009]火星藏宝图(贪心,动态规划)
- 【网站管理5】_讲解网站后台SEO优化和如何修改关键字以及关键词布局
- iOS - Block的循环引用内存泄漏问题探索