浅谈struts2标签中的2个很常用的标签的用法(radio和select)

1.如图所示我们需要在前台的页面通过radio和select将对应的数据库中的数据显示到选项当中,这也是我们做项目中经常需要做的,动态的显示,而不是静态的显示。


   首先我们需要在页面中导入struts2的标签库<%@ taglib prefix="s" uri="/struts-tags"%>,一般的我们不用struts2写一个radio代码如下:

<input type="RADIO" name="sex" value="男" id="male"/><label for="male">男</label>
<input type="RADIO" name="sex" value="女" id="female"/><label for="female">女</label>
<s:radio name="gender" list="%{ {'男', '女'} }"></s:radio>

   这样写因为在表单里面,我们都需要改成struts2的标签形式,用标签写更加简单方便,在struts2标签中凡是有很多选项的比如radio,select,checkbox等都会有一个list属性,用来表示选项的集合,还有listkey,listvalue,这2个属性值,listkey就代表提交给服务器的值,可能是1,可能是2,等等,listvalue代表是显示的值,比如上面的代码,我们将男女放在list中,listkey提交给服务器的值可能是1,2,3.。。。。,然后通过listvalue来指定显示在页面的值,当然如果我们指定list为map,那么listkey,listvalue就不用写了,他会自动调用map的key作为listkey,map的value作为listvalue,详细代码如下(radio的)使用的OGNL表达式构建一个map,相比较上面的2行代码这个就很简单方便了。


2.下面我们看下select中的选项如何动态的通过struts2标签获取:

   先看下原始的静态获取方式:

                            <select name="departmentId" class="SelectStyle">
                                <option value="0" selected="selected">请选择部门</option>
                                <option value="7">┠总经理室</option>
                                <option value="1">┠市场部</option>
                                <option value="2"> ┠咨询部</option>
                                <option value="3"> ┠招生部</option>
                                <option value="4">┠教学部</option>
                                <option value="5">┠后勤部</option>
                            </select> 
下面我们通过struts2标签来做代码如下:

                            <s:select name="departmentId" cssClass="SelectStyle"
                            	list="#departmentList" listKey="id" listValue="name"
                            	headerKey="" headerValue="请选择部门">
                            </s:select>
解释下其中属性的意思:name是你提交给服务器端的参数意思是你通过name这个属性提交的那么在服务器端也需要一个name这个属性并且能够获取,cssClass是样式,list对应的数据库的选项集合,listkey是通过id获取选listvalue是在页面显示对象的name属性,headerkey是默认选项的id因为在数据库没有所以传一个null,headervalue指的是默认选中的值。






评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值