s标签s:select下拉列表的使用

现象:jsp页面中s:select标签的使用

原因:在struts2框架开发中,有时候jsp页面需要用s标签来写,因为s标签能自动读取值栈中相匹配的字段信息。其中s:select怎么使用呢?

解决方案:
1:当下拉列表的选项固定且简单的时候可以使用如下方法

<s:select id="type" name="type" class="ComboType" list="#{'1':'WiFi','2':'移动网络','3':'无网络'}"></s:select>

这样就组成了三个选项的下拉列表 如果要设置默认值则加入value=”“

    <s:select id="type" name="type" class="ComboType" list="#{'1':'WiFi','2':'移动网络','3':'无网络'}" value="2"></s:select>

2:当下拉列表使用的集合是后台数据库所查到的时候可以使用如下方法

 <s:select id="adaptRules" name="adaptRules" class="adaptrules" list="adaptruleslist" listKey="id" listValue="name"></s:select>

后台在Action方法中的List处理如下:首先查找到对应对象集合 然后放入request中 在jsp页面获取
其中jsp中的ListKey就是对象中id属性,listValue就是对象中的name属性

    List< Adaptrules> adaptruleslist=adaptrulesService.FindAdaptrules();
    request.setAttribute("adaptruleslist", adaptruleslist);

对象的信息如下:
这里写图片描述

3:当下拉列表使用后台Map的时候可以使用如下方法

<s:select id="mode" name="mode" onchange="opCommonHide(this)" class="ComMode" list="#request.modeMap" listKey="key" listValue="value" value="#request.mode"></s:select>

list获取后台request中的Map属性 map的key将作为下拉列表的value,map的值将作为下拉列表展示的值。 如果要设置默认选择值则如图多传一位值mode用于默认选择
这里写图片描述

代码:

<s:select id="mode" name="mode" onchange="opCommonHide(this)" class="ComMode" list="#request.modeMap" listKey="key" listValue="value" value="#request.mode"></s:select>
  • 4
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值