關于Jsp頁面的幾種傳參方式_JSP教程

      編輯Tag賺U幣
      教程Tag:暫無Tag,歡迎添加,賺取U幣!

      推薦:在Eclipse3.2上部署JSP全過程
      一、下載 J2SDK:jdk-1_5_0_04-windows-i586-p.exe ECLIPSE:eclipse-SDK-3.2-win32.zip ECLIPSE 插件: (1)中文包 NLpack1-eclipse-SDK-3.2-win32.zip (2)Tomcat插件 tomcatPluginV31.zip (3)LOMBAT:lomboz-wtp-emf-gef-jem-3.1.2.zip TOMCAT:apache-tomc

      1.JavaScript傳參:這種傳參方式用opener關鍵字, 可以實現跨頁傳參.其用法就是用opener關鍵字調用父窗體的一個組件.

      舉例: opener.myform.txt.value = document.myform.txt.value;
      優點: 簡單,對網絡傳輸限制比較底.
      缺點: 不靈活,對與大量的傳參不現實,也不實際.

      2. " ? "傳參: 在傳遞地址的尾部加上? 后面跟參數的名字和其值,在另外一個Jsp頁面中就可以用request.getParameter("參數名字");獲取到傳遞的參數.

      舉例: http://localhost:8080/bbs/tiezi/jishu.jsp?id=1
      優點: 靈活,只要把需要傳遞的參數放到一個變量中傳遞到傳遞的也面就可以了.
      缺點: 對于批量傳參也不現實.

      3. session傳參:通常把它用來實現狀態維持.session中有2個參數,第一個為標識,第二個為值,形式("key","value") 如果你的思維敏捷,就能聯想到散列表,對它就是散列表的一種實現.

      應用舉例: session.setAttribute("login","ok"); session.getAttribute("login");
      優點: 不用關心是什么數據類型,都可以放到session中,它以對象的形式存儲于散列表中.
      缺點: session中把所有數據當成對象來存取,所以每次我們用它的時候都要把類型強制轉換為我們需要的類型.

      4. JavaBean傳參: 這是最高級的一種傳遞參數,它把任何數據類型,任何方式封裝在JavaBean中.我們在屬性中定義需要傳遞的參數,然后加入一個get和set方法就可以了,在Jsp中調用的時候可以設置其生命周期,完成傳遞參數的過程.

      應用舉例:
      package bean;

      public class sampleBean
      {
      private String sample="Star value";
      public String getSample()
      {
      return sample;
      }
      public void setSample(String newsample)
      {
      if(newsample!=null)
      {
      sample=newsample;
      }
      }
      優點: 靈活,多樣,傳遞數組、對象、哈希表、等等數據結構.
      缺點: 根據傳遞參數的不同編寫不同的JavaBean,費時費力.

      任何事物都有它的優缺點,事物都存在兩面性,不能片面的使用一種傳遞方式,我們應該根據實際情況和現實需要,選擇一種傳遞方式.

       
       

      分享:JSP技巧:JSP腳本編程中的Session的用法
      一個網頁中把變量username以username為名字保存在session上 %session.setAttribute(username,username);% 在另一個頁面中通過getAttribute方法取得username的值 %String username = (String)session.getAttribute(username);% username是傳遞變量的名

      來源:模板無憂//所屬分類:JSP教程/更新時間:2010-06-01
      相關JSP教程