Struts2.0标签使用之

jsp代码如下:

<s:form action="receive.action" method="post">
   <s:checkboxlist
   id="user"
   name="cheuser"
   list="#request.userlist"
   listKey="id"
   listValue="name"
   labelposition="left">
   </s:checkboxlist>
   <s:submit value="
保存
" align="center"></s:submit>
</s:form>

listKeylistValuelist存储的bean的属性

action接收方式:

private String[] cheuser = null;

public String[] getCheuser() {
   return cheuser;
}

public void setCheuser(String[] cheuser) {
   this.cheuser = cheuser;
}

通过数组接收

可以在接收方法里打印一下看看

public String receive() throws Exception {
    
   if (cheuser!=null) {
      for (int i = 0 ; i < cheuser.length ; i ++) {
            System.out.println(cheuser[i]);
      }
   }

}

打出来的是复选框的ID NAME

 用过structs2 checkboxlist标签的同志一定知道,它默认的布局方式都是横排的.但是如果我们想要每ncheckbox后要换一行,这就有问题了.当然解决的办法是有的,只要改变checkboxblist.ftl就好了.像这样,你要让它每输出四个checkbox之后换行,那么你可以这样改:

 1 <#assign itemCount = 0/>
 2 <#if parameters.list?exists>
 3     <@s.iterator value="parameters.list">
 4         <#assign itemCount = itemCount + 1/>
 5         <#if parameters.listKey?exists>
 6             <#assign itemKey = stack.findValue(parameters.listKey)/>
 7         <#else>
 8             <#assign itemKey = stack.findValue('top')/>
 9         </#if>
10         <#if parameters.listValue?exists>
11             <#assign itemValue = stack.findString(parameters.listValue)/>
12         <#else>
13             <#assign itemValue = stack.findString('top')/>
14         </#if>
15 <#assign itemKeyStr=itemKey.toString() />
16 <#if itemCount%5 == 0>
17 <tr>
18 </#if>
19 <td>
20 <input type="checkbox" name="${parameters.name?html}" value="${itemKeyStr?html}" id="${parameters.name?html}-${itemCount}"<#rt/>
21         <#if tag.contains(parameters.namue, itemKey)>
22  checked="checked"<#rt/>
23         </#if>
24         <#if parameters.disabled?default(false)>
25  disabled="disabled"<#rt/>
26         </#if>
27         <#if parameters.title?exists>
28  title="${parameters.title?html}"<#rt/>
29         </#if>
30         <#include "/${parameters.templateDir}/simple/scripting-events.ftl" />
31         <#include "/${parameters.templateDir}/simple/common-attributes.ftl" />
32 />
33 <label for="${parameters.name?html}-${itemCount}" class="checkboxLabel">${itemValue?html}</label>
34 </td>
35 <#if itemCount%4 == 0>
36 </tr>
37 </#if>
38     </@s.iterator>


注意:checkboxlist会根据value属性而确定哪个checkbox被选中,但前提是listKey的类型和value的类型要一致.比如说<s:checkboxlist listKey="id" listValue="desc" name="multiCheck" value="checkedIndex"/>
符合的组合:

id: long
checkedIndex: long[]

id:String
checkedIndex:String[]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值