我的需求是。
 从数据库里面读取所有权限 用checkbox列在jsp中。
   用户有的那个权限的就给那个checkbox勾上。!
下面是我写的。<%
        MemberDAO dao=new MemberDAO();
        String sql1="select * from v_info_member_appitem where memberid = "+id+" and length(f_itemcode)>=4 order by f_itemcode";//这里是用户有的权限!
        String sql2="select * from info_appitems where length(f_itemcode)>=4 order by f_itemcode";//这里是查出所有权限!        List list1=dao.getList(sql1);
        List list2=dao.getList(sql2);
    %>
    
    <form name="frm">
    <table>
       <%
        for(int i=0;i<list2.size();i++){
            out.println("<tr>");
            out.println("<td>");
            for(int j=0;j<list1.size();j++){
                if(((Member)list1.get(j)).getF_ItemName().equals(((Member)list2.get(i)).getF_ItemName())){
                    out.println("<input type='checkbox' checked='true' name="+((Member)list2.get(i)).getF_ItemCode()+">");
                    out.println(""+((Member)list2.get(i)).getF_ItemName()+"");
                    break;
                }
            }
           
            out.println("<input type='checkbox' name="+((Member)list2.get(i)).getF_ItemCode()+">");
            out.println(""+((Member)list2.get(i)).getF_ItemName()+"");   
            out.println("</td>");
            out.println("</tr>");
        }  
    %>  
    </table>
    </form>
 真的不知道该怎么写!只要你有的权限他都显示2次 1个勾上了1个没勾上!
望高手来帮我解决。在线等!

解决方案 »

  1.   

    <input type="checkbox" checked="checked">比如if(权限属性){
    %>
    <input type="checkbox" checked="checked">
    <%
    }else{
    %>
    <input type="checkbox">
    <%
    }标签的话原理也差不多
    注:权限属性是boolean,如果是其他就自己再写判断的代码
      

  2.   

    在输出的时候用if...else语句...
      

  3.   


    按你做的确实是显示2次啊你看这里:for(int i=0;i <list2.size();i++){
                out.println(" <tr>");
                out.println(" <td>");
                for(int j=0;j <list1.size();j++){
                    if(((Member)list1.get(j)).getF_ItemName().equals(((Member)list2.get(i)).getF_ItemName())){
                        out.println(" <input type='checkbox' checked='true' name="+((Member)list2.get(i)).getF_ItemCode()+">");  //这是第一次,用户所拥有的权限
                        out.println(""+((Member)list2.get(i)).getF_ItemName()+"");
                        break;
                    }
                }
             
                out.println(" <input type='checkbox' name="+((Member)list2.get(i)).getF_ItemCode()+">");  //这里是全部的权限  又打一次
                out.println(""+((Member)list2.get(i)).getF_ItemName()+""); 
                out.println(" </td>");
                out.println(" </tr>");
            }  楼主把用户没有的权限 再用一个sql 给if再加个else 然后放在else里就好了啊
      

  4.   

    哈哈,用标签也可以
    反正都是判断下
    <input type="checkbox" <c:if test="${权限判断}">checked="checked"</c:if> />