天天看點

jsp 如何動态給圖檔指派_JSP(JavaServerPage)

jsp 如何動态給圖檔指派_JSP(JavaServerPage)

JSP:Html代碼+Java腳本+JSP标簽

1.Java腳本
  • <% 内容 %>:方法腳本
  • <%= 内容 %>:指派腳本
  • <%! 内容 %>:類腳本
2.JSP三大指令
jsp 如何動态給圖檔指派_JSP(JavaServerPage)

JSP 三大指令

  • 指令格式:<%@指令名 屬性="屬性值"... %>
>page指令
  • pageEncoding:指定目前JSP檔案的編碼,與目前JSP真實編碼一緻,則不會亂碼
  • ContentType:相當于response.setContentType(xxx),屬性值為xxx,若和pageEncoding一緻,基本不會亂碼
  • pageEncoding和ContentType若兩者都未設定,預設值均是iso;兩者定義一個,那麼表示的是另一個屬性值為xxx;若兩者同時定義,則各為其值。例如<% @page pageEncoding="utf-8" %>,表示的是Content屬性為utf-8,而pageEncoding未定義。
  • import:導包,屬性可以多次定義,其表示是導入包的總和
  • errorPage:如果目前頁面抛異常,轉發到哪個頁面(請求轉發)
  • isErrorPage:目前頁面是否是處理異常的頁面,如果屬性值為true,那麼該頁面會設定狀态碼500,并且可以使用9大内置對象的exception
在web.xml檔案中,配置處理異常的頁面
/* 同時出現,誰越精确,優先級越高*/
// 1.根據狀态碼,轉發頁面
<error-page>
    <error-code>404</error-code>
    <location>頁面url<location>
</error-page>
// 2.根據抛出的異常
<error-page>
    <exception-type>java.lang.RuntimeException</exception-type>
    <location>頁面url<location>
</error-page>
           
  • autoFlush:指定jsp檔案輸出流緩沖區是否自動重新整理,預設值為true,若為false,緩沖區滿時會抛出異常
  • buffer:指定緩沖區大小,預設為8KB
  • isELIgnored:是否忽略EL表達式,預設值為false,不忽略。
  • language:指定jsp編譯後的語言類型,預設是java
  • infor:寫一些資訊
  • isThreadSafe:目前jsp是否支援并發運作,true為不支援
  • session:目前jsp檔案是否支援session,若為false,則不支援,沒有Session的9大内置對象
  • extends:讓目前jsp檔案生成的Servlet去繼承該屬性定義的類
>include指令(靜态合并)
  • 與requestdispatcher.include(request,response)類似,都是“合并”
  • requestdispatcher的include方法合并的是響應的内容
  • include指令合并的是jsp檔案:兩個jsp檔案編譯成一個java,然後成一個class
  • include指令的“靜态”指的是include指令是一個靜态的指令(編譯時就執行)
  • 把包含的jsp檔案代碼全部“複制粘貼”到include的位置,雙向都不能實作參數傳遞
  • include指令的file屬性,表示指定包含檔案的路徑
>taglib(标簽庫相關指令)
  • prefix:給标簽庫中的标簽加字首(防止标簽名沖突),加了字首名後的标簽格式為字首名:标簽名
  • uri:指定标簽庫位置
/* 示範prefix指定标簽庫的标簽字首後,标簽的名稱
    uri随便寫的,這個屬性根據具體情況應用*/
<%taglib uri="/Project/taglib" prefix="pre" >
那麼:text标簽應該為<pre:text></pre:text>
           
3.九大内置對象
jsp 如何動态給圖檔指派_JSP(JavaServerPage)
// a.jsp
<%
/* 内置對象是可以直接通路的變量
*/
RequestDispatcher dispatcher = request.getRequestDispatcher();
 %>
           
4.JSP動作标簽
jsp 如何動态給圖檔指派_JSP(JavaServerPage)
5.JavaBean(有規範的Java類)
  • 有無參構造函數
  • 對于每個屬性,至少有get/set方法之一
>使用JavaBeanUtils前提
  • 導入commons-beanutils和commons-logging 兩個jar包(文末有資源分享)
jsp 如何動态給圖檔指派_JSP(JavaServerPage)
>将Map對象轉換成JavaBean對象
jsp 如何動态給圖檔指派_JSP(JavaServerPage)

JavaBean類

jsp 如何動态給圖檔指派_JSP(JavaServerPage)

工具類

jsp 如何動态給圖檔指派_JSP(JavaServerPage)

Map-&amp;amp;amp;amp;amp;amp;amp;amp;gt;Servlet

>JSP中與JavaBean相關的标簽
//從session域中查找名為user1的JavaBean對象,若未找到,則建立一個
<jsp:userBean id = "user1" scope = "session" class = "MyJavaBean"> 
// 在名為user1的JavaBean對象中設定一個名為name,值為張三的參數
<jsp:setProperty name = "user1" property = "name" value = "張三">
// 擷取名為uesr1的JavaBean對象中,屬性名為name的屬性值
<jsp:getProperty name = "user1" property = "name" >
           

資源分享

  • commons-beanutils和commons-logging兩個jar包

連結:https://pan.baidu.com/s/1tjnrNLqJaInoa7asbFRbiw

提取碼:y2i4

繼續閱讀