首页 > 代码库 > 浅谈struts2标签中的2个非经常常使用的标签的使用方法(radio和select)

浅谈struts2标签中的2个非经常常使用的标签的使用方法(radio和select)

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

技术分享

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

<input type="RADIO" name="sex" value="http://www.mamicode.com/男" id="male"/><label for="male">男</label>
<input type="RADIO" name="sex" value="http://www.mamicode.com/女" id="female"/><label for="female">女</label>
<s:radio name="gender" list="%{ {‘男‘, ‘女‘} }"></s:radio>

   这样写由于在表单里面。我们都须要改成struts2的标签形式。用标签写更加简单方便,在struts2标签中凡是有非常多选项的比方radio,select,checkbox等都会有一个list属性。用来表示选项的集合。还有listkey。listvalue,这2个属性值,listkey就代表提交给server的值,可能是1,可能是2,等等,listvalue代表是显示的值。比方上面的代码,我们将男女放在list中。listkey提交给server的值可能是1,2,3.。。。。

,然后通过listvalue来指定显示在页面的值,当然假设我们指定list为map。那么listkey,listvalue就不用写了,他会自己主动调用map的key作为listkey,map的value作为listvalue,具体代码例如以下(radio的)使用的OGNL表达式构建一个map。相比較上面的2行代码这个就非常easy方便了。


2.以下我们看下select中的选项怎样动态的通过struts2标签获取:

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

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

                            <s:select name="departmentId" cssClass="SelectStyle"
                            	list="#departmentList" listKey="id" listValue="http://www.mamicode.com/name"
                            	headerKey="" headerValue="http://www.mamicode.com/请选择部门">
                            </s:select>
解释下当中属性的意思:name是你提交给server端的參数意思是你通过name这个属性提交的那么在server端也须要一个name这个属性而且可以获取。cssClass是样式,list相应的数据库的选项集合,listkey是通过id获取选listvalue是在页面显示对象的name属性。headerkey是默认选项的id由于在数据库没有所以传一个null。headervalue指的是默认选中的值。








浅谈struts2标签中的2个非经常常使用的标签的使用方法(radio和select)