Select下拉实现比较

    技术2022-05-11  108

    在JSP以及用taglib实现有些不同,请看一下实现下拉列表的JSP代码:

    <SELECT name="classid">            <option value="0">--请选择部门--</option>   <% Vector listclass = new Vector();   DispClass dispclass = new DispClass();   listclass = dispclass.allClass();   for(int i=0;i<listclass.size();i++) {   IClass classinfo = (IClass)listclass.elementAt(i);%>        <option value="<%=classinfo.getID()%>" <%if (classinfo.getID()==sclassid)  {out.println("selected");}  %>><%=classinfo.getName()%></option>        <%}%>

    </SELECT >

    看的眼花了吗?看到的ID是value而Name是Lable不过是在一个vector里先装好了lable和vlaue而已了,以上而且有一个是selected的 如果你在想触发一个什么东西呢加一个change就ok拉

    在看看我用Taglib做的下拉效果的代码:

             <bean:define id="_deptList" name="listSearchForm" property="departmentList" type="java.util.Collection" scope="request" />         <html:select property="deptId"  size="1">          <html:options collection="_deptList" property="value" labelProperty="label" />         </html:select>

    有什么不同呢?没什么不同 比以上的代码而言,主要是把以上在jsp里写的java代码都已经先写好拉,所以我不用在进行处理拉,直接显示出来就ok拉?

    在公司用的又是另外一套了:) Javabean都没用 直接用rs.next();强悍吧?代码全部在jsp里头

    比如假设我的labe是rs.getsString(1)而我的value是rs.getString(2)的话,声明两个list拉

    java.util.ArrayList list1 = new java.util.ArrayList();

    java.util.ArrayList list2 = new java.util.ArrayList();

    如果第一个option为空的话,加上一下代码:

    list1.add("");

    list2.add("");

    while(rs.next()){

    list1.add(rs.getString(1));

    list2.add(rs.getString(2));

    }

    <SELECT name="testselect">

    for(java.util.Iterator it = list1.iterator();it.hasNext();){

                 String str1 = (String)it.next();

         <option value="str1"><%out.print(str1)%></option>

    }

    </SELECT>

    我记得我就是这么写的至于拿个value吗?赫赫 在另一个页面我在根据labe在拿一次value就ok拉

    写多了看多了就不会觉得头晕了的


    最新回复(0)