日期:2014-05-20  浏览次数:20772 次

struts2表单标签迷惑求助
Java code

<s:checkboxlist name="skillsList" 
                        label="Skills 2" 
                        list="#{ 1:'Java', 2: '.Net', 3: 'RoR', 4: 'PHP' }"
                        listKey="key" 
                        listValue="value" 
                        />



我还没彻底搞清楚这个静态的例子,尤其是listKey和listValue具体意思??
现在我困惑的是:我从数据库里取到了结果集rs,并全部加入了ArrayList集合中,现在我想遍历这个ArrayList集合,把结果显示在页面checkboxlist中(上面的list内容就需要如何改动?),供用户勾选,用户勾选的项,我怎么收集获得呢???还需要写哪些实体类,请教。。。。


------解决方案--------------------
Checkboxlist标签可以一次创建多个复选框,用于一次生成多个HTML标签中的<inputtype=”checkbox” …/>,它根据list属性指定的集合来生成多个复选框。 
1. jsp代码 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=GBK"/> 
<title>使用s:checkboxlist生成多个复选框</title> 
<s:head/> 

</head> 
<body> 
<h3>使用s:checkboxlist生成多个复选框</h3> 
<s:form> 
<!-- 使用简单集合来生成多个复选框 --> 
<s:checkboxlist name="a" label="请选择您喜欢的图书" labelposition="top" 
list="{'Spring2.0宝典' , '轻量级J2EE企业应用实战' , '基于J2EE的Ajax宝典'}"/> 
<!-- 使用简单Map对象来生成多个复选框 --> 
<s:checkboxlist name="b" label="请选择您想选择出版日期" labelposition="top" 
list="#{'Spring2.0宝典':'2006年10月' , '轻量级J2EE企业应用实战':'2007月4月' , '基于J2EE的Ajax宝典':'2007年6月'}" 
listKey="key" 
listValue="value"/> 
<s:bean name="lee.BookService" id="bs"/> 
</s:form> 
</body> 
</html> 
备注 
? <!-- 使用集合里放多个JavaBean实例来生成多个复选框 --> 
<s:checkboxlist name="b" label="请选择您喜欢的图书" labelposition="top" 
list="#bs.books" 
listKey="name" 
listValue="author"/> 
? listKey:该属性指定集合元素中某个属性作为复选框的value. 
? listValue: 该属性指定集合元素中某个属性作为复选框的标签。
------解决方案--------------------
木木说得很详细。
------解决方案--------------------
探讨
Checkboxlist标签可以一次创建多个复选框,用于一次生成多个HTML标签中的 <inputtype=”checkbox” …/>,它根据list属性指定的集合来生成多个复选框。
1. jsp代码
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GBK"/>
<title>使用s:checkboxlist生成多个复选框 </title>
<s:head/>

</head>
<body>
<h3>使用s:checkboxlist生成多个复选框 </h3>
<s:form>
<!-- 使用简单集合来生成多个…

------解决方案--------------------
这个应该好理解key是键,value是值.
<引用>
比如用户勾选了哪些框框,我如何获得啊!关键??? 
</引用>
你表单提交过去的是多个值同一个名字
request.getParameterValues("skillsList");返回的是个数组,遍历数组就可以了