1.第一个例子:
<s:select list="{'aa','bb','cc'}" theme="simple" headerKey="00" headerValue="00"></s:select>
2.第二个例子:
<s:select list="#{1:'aa',2:'bb',3:'cc'}" label="abc" listKey="key" listValue="value" headerKey="0" headerValue="aabb">
3.第三个例子:
<%
HashMap map = new LinkedHashMap();
map.put(1,"aaa");map.put(2,"bbb");
map.put(3,"ccc");
request.setAttribute("map",map);
request.setAttribute("aa","2");
%>
<s:select list="#request.map" label="abc" listKey="key" listValue="value" value="#request.aa" headerKey="0" headerValue="aabb"></s:select>
摘抄自 http://www.cnblogs.com/modou/articles/1326683.html
-----------------------------------------------------------------------------------------------------------------------------------------------
struts2的select标签中,常用的有以下几个属性:
(1)struts2中的select 标签中,必须设置的属性只有一个,即是list。
(2)select标签的list中必须有值,不然会报错。如果没有值,可以加上headerKey, headerValue,这样就可以通过了。如:
xml 代码
<s:select name="geElement.childType" list="childTypeList" listKey="key" listValue="value" headerKey="0" headerValue="--请选择子类型--"/>
其中,即使list中有值,我们也通常会加上headerKey, headerValue,即列表中显示的第一个选项。注意,headerKey不可以为空,不可以为-1。
(3)list属性:通常是在action中定义的,必须是一个可以迭代的源,如为一个List, Map, Set等。如果是一个Map,那么map的key就对应于select标签中的value,map中的value就对应于select标签中的option。而如果是一个List或者是一个Set,那么可以通过listKey和listValue指定。
(4)listKey和listValue:listKey即对应于select标签中的value, listValue即对应于select标签中的option。
(5)name属性:即是表单中select的名称。
使用例子:
比如在做人员信息管理系统中,需要设置人员的民族、籍贯等信息,而这些信息一把不需要用户手动输入,而是通过下拉框进行选择,那么使用struts2的select标签应该如何实现呢,好,请看下面:
在Action类中,添加一个成员,String nationId;民族Id,设置getter和setter方法,添加一个Map类型的成员变量,Map nationMap;里面存放民族Id和对应的民族名称,设置getter和setter方法,在execute方法中,添加如下代码:
nationMap.put("1","汉族");
nationMap.put("2","苗族");
然后,在jsp页面中使用select标签,注意要加入标签库的引用:<% taglib uri="/struts-tags" prefix="s" %>,当然了一定要加入struts2的jar包才可以哦
使用标签: <s:select name="nationId" list="nationMap"></s:select>
这样就可以了,简单吧!
上面list里面用的是Map类型的变量,其实list里面也可以是List类型的变量,那么如果是List类型的变量,select标签就需要使用这种形式
<s:select name="nationId" list="nations" key="name" value="id"/>
其中nations是List类型的变量,里面封装了一个Bean,Bean里面定义了两个变量,一个是id,一个是name。这样就可以了。
-----------------------------------------------------------------------------------------------------------------------------------------------
今天通过url传值,却发现select不能获取传递过去的值,让我很郁闷,搞了半天才弄明白怎么回事!趁着这股劲说说select的用法吧!
首先上官方介绍:
地址 : select tag reference
<s:action name="beanList" namespace="/system" id="bean" />
<s:select headerValue="--Please select--" headerKey="" list="#bean.testList"
name="obj.userName" listKey="userName" listValue="userName" value="%{obj.userName.trim()}"/>
上面就是我使用的test实例了!挨个解释吧!
首先你要用到select,可以只使用 <s:select>标签,解释下这个标签属性:
headerValue : 默认值value
headerKey : 默认name
list : 源数据 (可以在action方法里从数据库获取list)
name : 被选数据存放的位置(这里我方在对象obj的属性值userName中<需在action中定义该对象>)
listKey : 下拉选项的name
listValue : 下拉选项的value
value : 默认值
但是一个下拉列表往往是可以重复使用的,那么我们将它单独定义到一个action中,这里我的action的namespace是system,所以如我们上面定义的<s:action>标签:
name : 源数据名(对应get方法名)
namespace : 我们在struts.xml中定义的name
id : 相当于别名(在后面调用该actiond的时候直接用#号使用)
那就这样了,我就用到这些!
今天遇到的是什么问题呢? 就是value了. 我在form表单跳转的时候下拉列表可以很好的保存值,但是通过url跳转的时候始终无法获取值!我在页面可以打印出传递的值,可到了下拉列表就不行!
后来试了老半天,才发现是html在eclipse中format的时候回车键被换成空格,这让我的值后面都有了空字符串,而select获取默认值又是通过key来一一对应的,所以就获取不到了,在后面加上trim属性就好了,太残念了....
还有获取值的方式也很郁闷,使用%来获取的,看来的确要补下ognl才行啊.....
相关推荐
这是一个对struts一个标签(html:select)的操作,主要为了操作下拉列表控制的数据读取,适合于初学者。。
struts2中select从action中动态获得,访问jsp页面时候,先要请求action,得到select标签的内容!
struts2 spring hibernate环境 主要是select标签从数据库读数据,形成下拉列表框
struts2实现页面select标签默认选中,很简单的,一看马上就会了
用struts2 doubleselect标签实现的二级联动下拉菜单
5.掌握常用标签textfield、radio、paaaword、checkboxlist、select、data的使用方法,实现页面与Action的交互操作 6.要求在创建过程中,包的名称要体现班级和学号,项目名称不需要按照实验手册中书写。在做的过程中...
关于struts2 select标签的使用。 struts2 中从别的表中遍历数据 填充进入下拉菜单 用标签显示. struts2的版本为2.1.8 ”” name=”” value=”” headerKey=”” headerValue=”” listKey=”” ...
jsp 开发之struts2中s-select标签的使用.docx
<%@ taglib uri="/struts-tags" prefix="s" %> 结合例子,重点掌握以下标签的用法 (1) (2) (3) <s:if> 、、 (4) (5) (6) 、 (7) 、、、 (8) <s:select>、、<s:checkboxlist>
J2EE中使用struts2实现的select和doubleselect标签
select标签:生成下拉列表框。 optiontransferselect标签:创建两个选项以及转移下拉列表项,该标签生成两个下拉列表框,同时生成相应的按钮,这些按钮可以控制选项在两个下拉列表之间移动、排序。 radio标签:...
主要介绍了jsp 开发之struts2中s:select标签的使用的相关资料,需要的朋友可以参考下
这是一份让你可以理解JavaWeb开发中如何使用struts2对下拉列表数据初始化,对于初学Struts2的同学是非常不错的入门代码实例,并且有助于理解struts里的select标签与c:forEach标签之间的关系。
JSP_struts2标签大全 1.a 3 2.action 3 3. actionerror 4 4. actionmessage 5 5. append 5 6. bean 7 7.checkbox 7 8.checkboxlist 8 9. combobox 9 10. conponent 9 11. date 11 12. datetimepicker 12 13. debug ...
5.13 select标签 76 5.14 用optgroup标签对选项进行分组 79 5.15 checkboxlist标签 82 5.16 combobox标签 83 5.17 updownselect标签 85 5.18 optiontransferselect标签 87 5.19 doubleselect标签 90 5.20 ...
struts标签的说明与使用,为方便广大程序员更熟练的掌握JSP页面标签的使用
<%@ taglib uri="/struts-tags" prefix="s" %> 结合例子,重点掌握以下标签的用法 (1) (2) (3) <s:if> 、、 (4) (5) (6) 、 (7) 、、、 (8) <s:select>、、<s:checkboxlist>
html:radio,html:checkbox,html:multibox,html:select 与actionform结合使用数组或集合,有多种实现方式
struts标签做的增删查改 s:iterator s:textfield s:select s:checkboxlist