Select下拉实现比较

在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拉

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

阅读更多
个人分类: Struts
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭