SSH框架學習筆記
request.getRequestDispatcher(“你要跳轉的頁面”).forward(request, response),這一步之前的工作是對提交的request做處理,這一步(這句話)是表示:處理完了,分發到下一個JSP頁面或者下一個Action繼續處理。即響應到下一個頁面或重定向到源網頁,理解forward()和redirect()倆種方式。
jsp:useBean
四. 元素各屬性解析:
1.id=”beanInstanceName”
一個用來標識你指定作用域的變數。可以在JSP檔案的表示式或指令碼小應用程式中使用該變數名稱。該名稱大小寫敏感,必須符合JSP頁面中指令碼語言的命名規則。假如你使用的是Java語言,則該名稱遵守的是Java命名規範。假如該Bean物件已由其它元素建立,則該值必須和例項化該Bean物件的元素id屬性值一致,才能實現定位到該Bean物件。
2.scope=”page | request | session | application”
Bean物件存在的作用範圍,預設值為 page. 不同作用域解釋如下:
1) page: 你可以在元素所在JSP頁面或其靜態包含頁面使用該JavaBean物件,直到該頁面傳送響應回客戶端或跳轉(forwards)至其它頁面。
2) request: 你可以在處理同一個請求的任意一個頁面使用該JavaBean對
象,直到該頁面傳送響應回客戶端或產生新的請求。你可以使用request物件訪問該JavaBean物件,示例:request.getAttribute(beanInstanceName).
3) session: 你可以在同一次會話的任意一個頁面使用該JavaBean物件,該
JavaBean物件在整個會話期間一直存在。使用建立JavaBean物件的頁面的<%@page %>指令元素的session屬性值必須設定為true;
4) application: 你可以在建立該JavaBean物件的同一個應用的任意一個頁面使用該JavaBean物件,該JavaBean物件在整個應用期間一直存在。應用中任意一個頁面均可使用它。
3.class=”package.class”
從一個class例項化Bean物件,使用new關鍵字呼叫class的構造方法完成。該 class 必須不能是抽象,必須有一個 public、無參的構造器。包名和類名稱大小寫敏感。
4.type=”package.class” 用來指定該Bean物件的資料型別,假如既沒有指定 class 或 beanBean, 沒有Bean物件能被例項化。包和類名稱大小寫敏感。
5.class=”package.class” type=”package.class” 使用class屬性指定的類例項化JavaBean物件,並宣告其資料型別為type屬性指定的型別;type屬性值可和class屬性值同,或為其超類、介面。class屬性中所指定類名稱必須不能為抽象的,必須包含有public,無參的構造方法。class和type屬性所指定的包名,類名均大小寫敏感。
6.beanName=”{package.class | <%= expression %>}” type=”package.class”
使用java.beans.Beans.instantiate方法例項化beanName屬性指定的類或序列化模板對應的Bean物件,賦予JavaBean物件type屬性指定的資料型別。
Beans.instantiate方法會檢查beanName屬性指定的名稱是類名稱還是序列化模板的名稱。假如該JavaBean物件已被序列化,則Beans.instantiate使用類載入器讀取序列化的內容,更多資訊可參考JavaBeans.
beanName屬性值要麼是一個完整類名,要麼是一個可以轉化為完整類名的表示式。
用來傳給Beans.instantiate方法。type屬性值可和beanName屬性值同,或為其超
類、介面。
beanName和type屬性所指定的包名,類名均大小寫敏感。