Cyh的博客

Email:kissyan4916@163.com
posts - 26, comments - 19, trackbacks - 0, articles - 220

struts2 checkboxlist标签的使用

Posted on 2009-04-28 23:09 啥都写点 阅读(18222) 评论(3)  编辑  收藏
    checkboxllist标签可以一次创建多个复选框,相当于多个<input type="checkbox"标签> ,它根据list属性指定的集合来生成多个复选框。
一个简单的index.jsp:
<s:form action="first">  
<s:checkboxlist name="sds"  list="{'一辉','撒卡','童虎','加隆'}" label="请选择你所喜欢的圣斗士">
   
</s:checkboxlist>
     
<s:submit value="submit"></s:submit>
  
</s:form>
action中:
public String[] getSds() {
    
return sds;
}

public void setSds(String[] sds) {
    
this.sds = sds;
}

@Override
public String execute() throws Exception {

    
for(int i=0; i<sds.length;i++){
        System.out.println(sds[i]);
    }

     
return SUCCESS;
}

运行结果:依次打印出你所选择的checkbox所对应的值
 

通过Map对象输出复选框的值,譬如:
  <s:form action="ryansds" >
        
<s:checkboxlist name="b" list="#{'凤凰座':'一辉','双子座':'撒卡','白羊座':'史昂','天枰座':'童虎'}"
         label
="请选择你最喜欢的圣斗士" labelposition="top"
         listKey
="value"
         listValue
="key" >
        
</s:checkboxlist>
      
<s:submit value="submit"></s:submit>
     
</s:form>
在ryansds对应的action中,做一个输出,看看传过来的值:
public class RyanSDS extends ActionSupport{

    
private String[] b; 
    
    
    
public String[] getB() {
        
return b;
    }


    
public void setB(String[] b) {
        
this.b = b;
    }


    @Override
    
public String execute() throws Exception {
        
for(int i=0;i<b.length;i++){
            System.out.println(b[i]);
        }
        
return SUCCESS;
    }
}
注意:checkboxllist标签有两个属性,listKey和listValue,他们代表了list中元素的某个属性,默认情况下 lisKey="key"(这里的key代表map中的key值,也是会传给strut2的值),listValue="value"(这里的value代表map中的value值,他会在页面中显示出来,提交表单时,并不能被struts取得)。 如果你想将map中的key值显示在页面,可以设置listKey="value." 


使用集合里存放的多个javabean来生成多个复选框:
package com.yan.test;

public class User {
  
   
private String username;
   
   
private String password;

   
public User(String username,String password) {
       
this.username = username;
       
this.password = password;
       
   }
  
。。。。省略POJO
}


调用getRyan方法返回一个包含多个User实例的数组。
public class UserService {
  
   
public User[] getRyan(){  
      
       
return new User[]{
        
         
new User("ryan","ryanchen"),
         
new User("zhengyao","YOYO"),
         
new User("boys","girls")
       };
   }    
}

在jsp页面中使用:
<s:bean name="com.yan.test.UserService" id="sds"/>
    
<s:checkboxlist name="sdfsd" list="#sds.ryan" 
     listKey
="username" 
     listValue
="password">
    
</s:checkboxlist>


浏览该页面:












                                                                                                       --    学海无涯
        

Feedback

# re: struts2 checkboxlist标签的使用  回复  更多评论   

2012-04-18 16:07 by 简同
真是我看过的最清楚的一个sample了 好感动/(ㄒoㄒ)/~~……回去试试

# re: struts2 checkboxlist标签的使用  回复  更多评论   

2014-03-21 14:15 by d
ss

# re: struts2 checkboxlist标签的使用  回复  更多评论   

2014-09-26 17:47 by yuk
同居同意同意

只有注册用户登录后才能发表评论。


网站导航: