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,費時費力.
任何事物都有它的優缺點,事物都存在兩面性,不能片面的使用一種傳遞方式,我們應該根據實際情況和現實需要,選擇一種傳遞方式.
以上是這些日子以來總結出來的,如果有什麼地方欠缺或者說的不對的地方希望大家能指點.