如何在jsp中设置选中的多个选项

如何在jsp中设置选中的多个选项,jsp,servlets,Jsp,Servlets,我希望根据数据库结果选择多个选项 <tr> <td>Roles :</td> <td> <select id="role" name="role" multiple> <% while(rs2.next()){ Stri

我希望根据数据库结果选择多个选项

<tr>
            <td>Roles :</td>
            <td>
                <select id="role" name="role" multiple>
              <% 
                         while(rs2.next()){
                           String role = rs2.getString("role_name");  
                           if(role.equalsIgnoreCase("role1")){
                           role1= true;
                           }
                           else if(role.equalsIgnoreCase("role2")){
                           role2 = true;
                          }
                           else if(role.equalsIgnoreCase("role3")){
                           role3= true;
                          }
                           else if(role.equalsIgnoreCase("role4")){
                           role4= true;
                          }
                         }
                     %>                                                                                                                               
                    <option value="role1">role1</option>                                          
                    <option value="role2">role2</option>                                                               
                    <option value="role3">role3</option>
                    <option value="role4">role4</option>             

                </select>
            </td>
        </tr>

角色:
角色1
角色2
角色3
角色4

您可以使用
selected
属性设置多个选项

 <option value="role1" <%=role1?"selected":""%>>role1</option>                                          
 <option value="role2" <%=role2?"selected":""%>>role2</option>                                                               
 <option value="role3" <%=role3?"selected":""%>>role3</option>
 <option value="role4" <%=role4?"selected":""%>>role4</option>
role1
角色2
角色3
角色4

你试过这样吗

<tr>
        <td>Roles :</td>
        <td>
            <select id="role" name="role" multiple>
          <% 
                     while(rs2.next()){
                       String role = rs2.getString("role_name");  
                       if(role.equalsIgnoreCase("role1")){ %>

                       <option value="role1" selected>role1</option> 

                     <%  role1= true;
                       }else{ %>
                       <option value="role1">role1</option> 
                    <%   }
                       if(role.equalsIgnoreCase("role2")){ %>

                        <option value="role2" selected>role2</option> 

                     <% role2 = true;
                      }else { %>
                        <option value="role2" selected>role2</option> 
                    <%  }
                       if(role.equalsIgnoreCase("role3")){ %>
                       <option value="role3" selected>role3</option> 

                    <%  role3= true;
                      } else { %>
                       <option value="role3">role3</option> 
                    <%  }
                       if(role.equalsIgnoreCase("role4")){ %>
                       <option value="role4" selected>role4</option>
                    <% role4= true;
                      }else{ %>
                      <option value="role4" >role4</option>
                   <% }
                     }
                 %>                                                                                                                               
            </select>
        </td>
    </tr>

角色:
角色1
角色1
角色2
角色2
角色3
角色3
角色4
角色4

您有什么问题?您使用此代码实现了什么?如果用户有多个角色,我想设置多个已选择的角色。是的,我已经这样做了,但即使用户有两个角色,也选择了“全选”选项。为
role1、role2、role3、role4分配的默认值是什么?确保值为
false
。哦,这是我的错误,我在非内部scriplet块中声明了变量