JSP第二天

來源:互聯網
上載者:User

<jsp:useBean id="today" class="java.util.Date" scope="request"></jsp:useBean>
==>
 Object o = request.getAttribute("today");
 if(o != null){
  Date today = (Date)o;
 }else{
  Date today = new java.util.Date();
  request.setAttribute("today",today);
 }
 class是先尋找,找不到則建立新對象,並設定屬性在範圍中

<jsp:useBean id="today" type="java.util.Date" scope="request"></jsp:useBean>
==>
 Object o = request.getAttribute("today");
 if(o != null){
  Date today = (Date)o;
 }else{
  throw new Exception("在scope中找不到名為today的資訊");
 }
 type是先尋找,找不到則報異常
 適用於多態環境下

<jsp:setProperty property="birthday" name="p" value="<%=request.getParameter("birthday") %>"/>
==>
 String birthday = request.getParameter("birthday");
 p.setBirthday(birthday);

<jsp:setProperty property="name" name="p"/>
==>
 String name = request.getParamter("name");
 p.setName(name);
 沒有設定value,則系統預設從頁面中按照屬性名稱尋找同名的參數。並設值

<jsp:setProperty property="*" name="p"/>
==》
 擷取p對象中的所有屬性名稱
 把每個屬性名稱作為參數名尋找頁面中的參數值
 設定對象的屬性值

 ===============================================
 前提:
  頁面中的控制項名==實體類中的屬性名稱
 ===============================================

<jsp:getProperty property="name" name="p"/>
==》
 p.getName();

頁面的作用:
 1 接受使用者輸入的資料
  <form...>
 2 擷取某個範圍中儲存的資料,展現資料給用戶端
  <jsp:useBean id="" type="" scope="">

跳轉路徑:
 建議使用絕對路徑,即以/開頭
 在html和redirect跳轉中,/應用程式名稱/請求...
 在forward跳轉中,/請求...

jsp中遺留的java代碼:
 1 擷取資料的代碼
  參數
  屬性
  系統內部資訊
 2 邏輯分支、迴圈語句

EL:expression language運算式語言
 文法結構:
  ${...}
 作用:
  擷取資料並顯示
 資料包含:
  *參數
   ${param.參數名}
   ==》
   request.getParameter("參數名");

   ${paramValues.參數名}
   擷取多個同名參數值
   request.getParameterValues("參數名")
  *屬性
   ${屬性名稱}
   ==》
   pageContext.findAttribute("屬性名稱");

   PageContext-----代表當前web應用
    getAttribute("屬性名稱",取的範圍)
     PageContext.REQUEST_SCOPE
     PageContext.SESSION_SCOPE
     PageContext.APPLICATION_SCOPE
    setAttribute("屬性名稱","屬性值",設定的範圍)
     PageContext.REQUEST_SCOPE
     PageContext.SESSION_SCOPE
     PageContext.APPLICATION_SCOPE
    findAttribute("屬性名稱")
     request==>session==>application中依次     搜尋屬性,找到即停止。找不到則返回null

   ${內建對象名.屬性名稱}
   ===>
   pageContext.getAttribute("屬性名稱",內建對象名)
  *系統內部資訊
   ${pageContext.對象名....}
 el的常用內建對象
  requestScope
  sessionScope
  applicationScope

 el中支援的資料資訊:
 
  <INTEGER_LITERAL>
  <FLOATING_POINT_LITERAL>
  <STRING_LITERAL>  
  "true", "false"
  "null"
  "("
  "-"
  "not"
  "!"
  "empty"
  <IDENTIFIER>
 
 el中支援的運算子:
 "}", ".", ">", "gt", "<", "lt", "==", "eq", "<=", "le", ">=", "ge", "!=", "ne", "[", "+", "-", "*", "/", "div", "%", "mod", "and", "&&", "or", "||", "?"

 
 pageContext.getRequest():ServletRequest
 request.getContextPath();
 ==>
 ${pageContext.request.contextPath}

 

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.