多个复选框结果保存与显示

项目开发中经常会有多个复选框结果需要保存到数据库中,同时也需要在页面段显示,实现的方法应该很多,把我这次做的贴出来,如果有更好的处理方式欢迎留言一起探讨
1、先看下页面效果

对应的复选框value为 1 2 4 8 即 2的 0123次幂
2、存储很简答,直接把value的合存储即可
3、展示:DO中增加方法
public boolean doSend(int level,int method){
	    if(1<=level && level <=5 && (1 == method || method ==2 || method ==4 || method ==8)){

	    String[] tools = StringUtils.split(this.warnTools,"|");
	    if((Integer.valueOf(tools[level-1]) & method) == method){  (1)
	        return true;
	    }
	    else{
	        return false;
	    }
	    }else{
	        return false;
	    }
	}

代码解析:
1、leve对应图片中的行,method传入的值分别是复选款的value(1 2 4 8)
2、重点看1处,判断第一行旺旺是否被选中
比如选择结果是 旺旺 和短信被选中,数据库中存储应为2+8=10,
当判断旺旺是否被选中
#if($!XXXDO.doSend(1,2)) checked="true"

10&2=2,所以级if(true), 10&2转成2进制看是0110&0010,结果是0010=2

你可能感兴趣的:(复选框)