標簽模版技術 JSTL 精華一頁紙

模版技術采用了EL表達式替換,邏輯控制采用了JSTL

1、循環控制

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

<% request.setAttribute("items",new Integer[]{0,1,2,3,4}); %>

${item}

2、條件判斷

${item}

升級版的條件判斷 -- 其實就是 switch的翻譯。

3、其他JSP特性控制

屬性設置 – 設置屬性的值(request中的屬性)

1

刪除屬性 -- 刪除屬性

包含文件 類似與 的功能,除了本地文件還可以互聯網文件。

模板設置 類似與功能

URL重寫

Click here

Click New -- 此處的URL地址既編碼了又重寫了 url.jsp?firstName=john&lastName=stephone+marbury

4、異常處理

<% int x = 10/0; %>

${myException.message}

Jsp可以在web.xml統一指定異常頁面,也可以自己咋page指令中 指定異常處理頁面

5、JSTL標簽

JSTL 一共有5個標簽庫

Core核心庫,就是上面一些控制

格式化庫,各種字符集、時區格式化

XML庫 提供一些操作XML的功能

SQL庫等 提供直接查詢數據庫的操作

JSTL的函數等 主要提供一些字符串的處理

url="jdbc:mysql://localhost/TEST"

user="root" password="pass123"/>

SELECT * from Employees;

6、自定義JSTL標簽

如果這些都不能滿足要求,可以自定義標簽庫

I、編寫 *.tld 標簽庫文件(實現類啊等一些配置項)

II、jsp taglib指令 引入這個標簽庫

III、像使用標準庫一樣使用這個庫里的方法

自定義標簽二次開發類

I、繼承 SimpleTagSupport 類,實現 doTag 方法,如果有方法提,在方法里調用invoke方法,和攔截器/過濾器等類似的考慮。

II、繼承TagSupport類,實現doStartTag/doEndTag方法,提供標簽開始和結束時的控制;還有BodySupport 類,可以實現精細的處理

III、標簽還可以嵌套。

如果需要標簽有屬性,則類似JavaBean一樣,提供類字段,提供setter函數

*.tld

MenuItem tag

MenuItem

foo.MenuItem

-- 有屬性時配置

itemValue

true

true

public class MenuItem extends TagSupport{

private String itemValue;

public void setItemValue(String value){

itemValue = value;

}

public int doStartTag(){

return EVAL_BODY_INCLUDE;

}

public int doEndTag(){

Menu parent = (Menu)getParent();

parent.addMenuItem(itemValue);

return EVAL_PAGE;

}

}

public class Menu extends TagSupport{

private ArrayList items;

public void addMenuItem(String item){

items.add(item);

}

public int doStartTag(){

items = new ArrayList();

return EVAL_BODY_INCLUDE;

}

public int doEndTag() throws JspException{

//這里可以對item做處理

return EVAL_PAGE;

}

需要注意的是標記處理器并不能直接訪問隱式對象,只能通過jspContext/pageContext進行處理。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 1什么是JSTLJSTL是apache對EL表達式的擴展(也就是說JSTL依賴EL),JSTL是標簽語言!JSTL...
    TY_閱讀 389評論 0 1
  • 1. Java基礎部分 基礎部分的順序:基本語法,類相關的語法,內部類的語法,繼承相關的語法,異常的語法,線程的語...
    子非魚_t_閱讀 31,765評論 18 399
  • 一. Java基礎部分.................................................
    wy_sure閱讀 3,835評論 0 11
  • JSP 基本結構JSP 頁面組成:模板文本(HTML,XML,純文本),JSP 元素;JSP 元素:腳本元素,指令...
    jslancer閱讀 877評論 0 11
  • 主持人:@Tsuseven 嘉賓:David JIAO 翻譯:deioris 中文記錄:chopper 英文記錄:...
    NuLink_zh閱讀 251評論 0 0