EL&jsp

JSP 2.0(java server pages):html

EL表達式:

EL 算法(Arithmetic)表達式:java

EL Expression Result
${1} 1
${1 + 2} 3
${1.2 + 2.3} 3.5
${1.2E4 + 1.4} 12001.4
${-4 - 2} -6
${21 * 2} 42
${3/4} 0.75
${3 div 4} 0.75
${3/0} Infinity
${10%4} 2
${10 mod 4} 2
${(1==2) ? 3 : 4} 4

 

 

 

 

 

 

 

 

 

EL 比較(comparions):web

    • Less-than (< or lt)
    • Greater-than (> or gt)
    • Less-than-or-equal (<= or le)
    • Greater-than-or-equal (>= or ge)
    • Equal (== or eq)
    • Not Equal (!= or ne)

Numberic: 算法

EL Expression Result
${1 < 2} true
${1 lt 2} true
${1 > (4/2)} false
${1 gt (4/2)} false
${4.0 >= 3} true
${4.0 ge 3} true
${4 <= 3} false
${4 le 3} false
${100.0 == 100} true
${100.0 eq 100} true
${(10*10) != 100} false
${(10*10) ne 100} false

 

 

 

 

 

 

 

 

 

Alphabeticexpress

EL Expression Result
${'a' < 'b'} true
${'hip' > 'hit'} false
${'4' > 3} true

 

 

 

 

 

  EL implicit object(內置對象): 瀏覽器

    • pageContext - the PageContext object
    • pageScope - a Map that maps page-scoped attribute names to their values
    • requestScope - a Map that maps request-scoped attribute names to their values
    • sessionScope - a Map that maps session-scoped attribute names to their values
    • applicationScope - a Map that maps application-scoped attribute names to their values
    • param - a Map that maps parameter names to a single String parameter value
    • paramValues - a Map that maps parameter names to a String[] of all values for that parameter
    • header - a Map that maps header names to a single String header value
    • headerValues - a Map that maps header names to a String[] of all values for that header
    • initParam - a Map that maps context initialization parameter names to their String parameter value
    • cookie - a Map that maps cookie names to a single Cookie object.

    其中application、request、session,pageContext的獲取方式都爲 ${***}也可以使用${***Scope.****}加快訪問。緩存

    而param爲頁面參數對象,所以獲取方式爲 param['****']或者爲param.***,多常見jsp頁面之間自身傳值或刷新時,參數獲取。安全

             ※因jsp大多放在web-inf下,所以沒法直接被訪問。所以這種jsp(必須放在web-inf外)直接調用的方式不是不少見。服務器

    <input type="text" name="foo" value="${param.foo}" />
    <a href="elLearn.jsp?foo=zhangsan">刷新本身</a>

 

    header信息的展現 header['']或者爲header.***:cookie

    ${header.user-name}
    ${header.host}

 

    cookie的獲取方式爲: ${cookie.****.name}  ${cookie.****.value}

    <%  
    Cookie cok = new Cookie("secondName", "wangliwei");
    cok.setDomain("/");
    response.addCookie(cok);
    %>
    ${cookie.secondName.name}
    ${cookie.secondName.value}

 

JSP(Java Server Pages): 

JSP 運行在服務端的語言,以 Java 語言做爲腳本語言的,JSP 網頁爲整個服務器端的 Java 庫單元提供了一個接口來服務於HTTP的應用程序。是一種動態網頁開發技術。

JSP 基於Java Servlet API,以<% ...  %>開頭結束。

jsp的九大內置對象和做用域

request           請求對象             類型 javax.servlet.ServletRequest        做用域 Request

response          響應對象              類型 javax.servlet.SrvletResponse        做用域 Page

pageContext       頁面上下文對象        類型 javax.servlet.jsp.PageContext       做用域 Page

session           會話對象              類型 javax.servlet.http.HttpSession      做用域 Session

application       應用程序對象          類型 javax.servlet.ServletContext        做用域 Application

out               輸出對象              類型 javax.servlet.jsp.JspWriter         做用域 Page

config            配置對象              類型 javax.servlet.ServletConfig         做用域 Page

page              頁面對象              類型 javax.lang.Object                   做用域 Page

exception         例外對象              類型 javax.lang.Throwable                做用域 page

 獲取當前訪問路徑:${pageContext.requext.contextPath}

JSP Directive(指令)

JSP指令用來設置與整個JSP頁面相關的屬性。

<%@ directive attribute="value" %>

  指令有3種:

指令 描述  
<%@ page ... %>

Page指令爲容器提供當前頁面的使用說明。一個JSP頁面能夠包含多個page指令。

定義頁面的依賴屬性,好比腳本語言、error頁面、緩存需求等等

 
<%@ include ... %>

包含其餘文件,這種是靜態引入,即引入的jsp的路徑必須指定好。jsp在造成時會將此include的jsp頁面copy進來,

所以被引入的頁面的tag-lib的prefix不能和當前頁面重複。<c:important 和 <jsp:include 爲動態引入,

即各自編譯本身的jsp頁面,在展示時再合爲一體。適合將一個大的頁面切割成幾個部分,方便維護。

<%@ include file="./myJstl.jsp" %>

 
<%@ taglib ... %> 引入標籤庫的定義,能夠是自定義標籤參見  JSTL-tagLib  

 

 

 

 

 

 

page 指令屬性:

屬性 描述
buffer 指定out對象使用緩衝區的大小
autoFlush 控制out對象的 緩存區
contentType 指定當前JSP頁面的MIME類型和字符編碼
errorPage 指定當JSP頁面發生異常時須要轉向的錯誤處理頁面
isErrorPage 指定當前頁面是否能夠做爲另外一個JSP頁面的錯誤處理頁面
extends 指定servlet從哪個類繼承
import

導入要使用的Java類,做爲當前使用類的引用類,注意類之間的使用順序

<%@ page import="bean.Book" %>

info 定義JSP頁面的描述信息
isThreadSafe 指定對JSP頁面的訪問是否爲線程安全
language 定義JSP頁面所用的腳本語言,默認是Java
session 指定JSP頁面是否使用session
isELIgnored 指定是否執行EL表達式
isScriptingEnabled 肯定腳本元素可否被使用

 

 

 

 

 

 

 

 

 

寫法以下:

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<%@ page errorPage="error.jsp" %>
<%@ page import="bean.Book" %>

<% Book book = new Book(1234,"java","Denny","java content"); 
    out.print(book.getBookAuthor());
%>

 

JSP 語法(Language)

 

名稱(Xml格式) 描述 對等 Example
<jsp:scriptlet>
代碼片斷 <%****%>

<% int a=5; %>

<jsp:declaration>
聲明變量,頁面全局用 <%!****%>
<%! int i = 0; %>
 
<jsp:expression>
 表達式,用於輸出內容  <%=****%>  <%= i %>
 <%-- 註釋 --%>  註釋,在html頁面看不到  <!--註釋 --> html註釋,頁面上能夠看到  
                            

 

 

 

 

 

 

 

JSP Action(行爲)

全部的動做要素都有兩個屬性:id屬性和scope屬性。

  • id屬性:

    id屬性是動做元素的惟一標識,能夠在JSP頁面中引用。動做元素建立的id值能夠經過PageContext來調用。 

  • scope屬性:

    該屬性用於識別動做元素的生命週期。 id屬性和scope屬性有直接關係,scope屬性定義了相關聯id對象的壽命。

    scope屬性有四個可能的值: (a) page, (b)request, (c)session, 和 (d) application

<jsp:action_name attribute="value" />

 

語法 描述  Example
jsp:include 在頁面被請求的時候引入一個文件。  
<jsp:include page="date.jsp" flush="true" />
flush:是否刷新緩存
page:靜態文件或者動態文件均可。
jsp:useBean 尋找或者實例化一個JavaBean。 <jsp:useBean id="books" class="bean.Book" />
<% books.setBookDes("java is content"); %>
<jsp:setProperty property="bookAuthor" value="DennyZhao" name="books"></jsp:setProperty>
<jsp:getProperty property="bookAuthor" name="books" />
<jsp:getProperty property="bookDes" name="books" />
jsp:setProperty 設置JavaBean的屬性。
jsp:getProperty 輸出某個JavaBean的屬性。
jsp:forward 把請求轉到一個新的頁面。

 <jsp:forward page="**" /> 僅可定向到項目內

至關於  <c:redirect url="***"/> 可定向到項目外連接

jsp:plugin 根據瀏覽器類型爲Java插件生成OBJECT或EMBED標記。

 java插件引入java類,Java組件能夠是一個applet或一個JavaBeanplugin,動做有多個對應HTML元素的屬性用於格式化Java 組件。param元素可用於向Applet 或 Bean 傳遞參數。

用於java在瀏覽器嵌入applet。

jsp:element 定義動態XML元素  至關於在html中自定義標籤
jsp:attribute 設置動態定義的XML元素屬性。

 定義元素屬性。<jsp:element><jsp:attribute /></jsp:element>

至關於 <input type="text" 

jsp:body 設置動態定義的XML元素內容。  

<jsp:element name="inputX" >
<jsp:attribute name="type" trim="true"></jsp:attribute>
<jsp:body>zhonggggggggg</jsp:body>
</jsp:element>

jsp:text 在JSP頁面和文檔中使用寫入文本的模板

 文本模板,內部只能放文本和el表達式其中el表達式中的<>要使用gt;lt來表示。

在新版本中已經去除了此屬性。

相關文章
相關標籤/搜索
本站公眾號
   歡迎關注本站公眾號,獲取更多信息