JAVA

          人生若只如初見,何事秋風悲畫扇。

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            50 隨筆 :: 25 文章 :: 157 評論 :: 0 Trackbacks

          在JSP中用到select列表框就如家常便飯般的常見!
          以下是我在JSP頁面中對此的一些心得(通常會用到Struts+Hebernate+Spring):
          我想大概有以下幾種方法可以在JSP中得到我們想要的select列表框
          1:通過使用HTML中使用普通的select定義

          <select name="select">
              
          <option value="1">aa</option>
              
          <option value="2">bb</option>
              
          <option value="3">cc</option>
          </select>

          當然這樣可以實現,但是一旦用到相關的DB操作時,代碼中的業務,持久化,顯示處理各部分的代碼就會全部混到一起.

          2:通過Struts的logic標簽

          <logic:iterate id="types" name="cglist" type="com.jbbis.netedu.common.dto.BaseCategoryDTO"> 
                                 
          <option value='<bean:write name="types" property="id"/>'> 
                                
          <bean:write name="types" property="name"/> 
                                
          </option>
                 
          </logic:iterate> 

          其中types代表了存放集合數據的一個句柄,在option中用到它.type是指你集合中的對象.在下面的option中的一些屬性值實際上就是指此對象中的字段.比如說property="id", property="name".logic:iterate中的name屬性一般是從session,request中得到的,所以對于cglist,很可能在你的action中,有如下的代碼:

          request.setAttribute("cglist",categorys);

          or

          session.setAttribute(
          "cglist",categorys);

          然后就是將其在bean:write標簽中輸出來.這種方法相比前一種對于DB操作顯然要方便,但是假如要在select中加入一些JS的話就比較麻煩了,比如要保存它上次的選擇,用JS來實現顯得有些麻煩!

          3:通過Struts的html:select標簽,將此標簽內置于html:form內(個人認為,最大的好處莫過于它可以自動保存上次的記錄了!).

          <html:select property="typeId" onchange="gotothenews(this.value)">
                              
          <html:optionsCollection property="typeIds" label="name" value="id"/>
              
          </html:select>

          typeId為你Struts的ActionForm中對應的一個屬性,typeIds為ActionForm中的一個對象數組.name,id均為此數組中對象的屬性.lable在optionsCollection表示在select中要顯示的內容,value則表示其對應的值.
          要注意的是此對象數組記得要全部初始化,比如說你定義的此對象數組若長度為7而你只實例化了6個,則會出現類似
          org.apache.jasper.JasperException: No bean specified
          的異常!
          此方法不但對DB操作方便,而且在對保存記錄方面也做得不錯呢.在Struts中JSP頁面中使用JS時,還老是出現一些意想不到的錯誤(不知道為什么).

          下次遇到了好的對策再貼上來......
          posted on 2006-03-07 21:23 Jkallen 閱讀(3635) 評論(2)  編輯  收藏 所屬分類: JEE學習

          評論

          # re: 談select列表框 2007-04-07 16:35 billy
          非常的不錯,我會經常的光顧!來到你這里可以學習東西,真的不錯!希望多談一些關于Spring方面的東西!  回復  更多評論
            

          # re: 談select列表框 2007-05-23 15:58 buty
          <html:select property="orgCode">
          <html:option value=""></html:option>
          <html:options collection="organizationList" labelProperty="orgCode" property="orgCode"/>
          </html:select>
          請問這段代碼中的兩個property分別對應的那哪個屬性?謝謝!!  回復  更多評論
            

          主站蜘蛛池模板: 石林| 江源县| 乌兰浩特市| 辰溪县| 定安县| 依兰县| 大方县| 五河县| 海口市| 康平县| 闽侯县| 汤阴县| 松潘县| 湟中县| 喀喇沁旗| 青州市| 康乐县| 工布江达县| 营口市| 象山县| 合江县| 夏河县| 富顺县| 眉山市| 天门市| 烟台市| 兴隆县| 东兰县| 郓城县| 孟连| 聊城市| 同德县| 万年县| 沙雅县| 盱眙县| 大埔县| 清水县| 五河县| 河南省| 红原县| 乃东县|