jstl標(biāo)簽基礎(chǔ)開發(fā)步驟(詳解)
step1. 導(dǎo)包(導(dǎo)入要使用的標(biāo)簽的jar文件)。
step2. 使用taglib指令引入要使用的標(biāo)簽。
taglib指令:
uri:標(biāo)簽的命名空間。
prefix:命名空間的別名。
注:
命名空間:是為了區(qū)分同名的元素而添加的前綴。
自定義標(biāo)簽:
step1. 寫一個(gè)java類,繼承SimpleTagSupport類。
step2. 在doTag方法里面,編寫處理邏輯。
step3. 描述標(biāo)簽。(.tld文件里面)
注: <body-content>的值可以是
empty 沒有標(biāo)簽體。
scriptless 可以有標(biāo)簽體,但是標(biāo)簽體的內(nèi)容不能夠出現(xiàn)java代碼。
JSP 可以有標(biāo)簽體,標(biāo)簽體的內(nèi)容可以出現(xiàn)java代碼。(只有復(fù)雜標(biāo)簽技術(shù)才支持JSP這個(gè)值,簡單標(biāo)簽技術(shù)只支持empty和scriptless)。
簡單日期標(biāo)簽datetag.tld例:
<?xml version="1.0" encoding="UTF-8" ?> <taglib xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-jsptaglibrary_2_1.xsd" version="2.1"> <tlib-version>1.1</tlib-version> <short-name>d1</short-name> <uri>http://aliyun.com</uri> <tag> <!-- name:表示自定義標(biāo)簽 <c1:date名字相同 --> <name>date</name> <tag-class>tag.DateTag</tag-class> <body-content>empty</body-content> <attribute> <!-- name:表示自定義標(biāo)簽 <c1:date datetag名字相同 --> <name>datetag</name> <!-- true,表示可以使用el表達(dá)式來賦值 --> <required>true</required> <rtexprvalue>false</rtexprvalue> </attribute> </tag> </taglib>
日期java標(biāo)簽類:
package tag; /** * 自定義日期標(biāo)簽 */ import java.io.IOException; import java.text.SimpleDateFormat; import java.util.Date; import javax.servlet.jsp.JspException; import javax.servlet.jsp.JspWriter; import javax.servlet.jsp.PageContext; import javax.servlet.jsp.tagext.SimpleTagSupport; public class DateTag extends SimpleTagSupport { private String datetag; public String getDatetag() { return datetag; } public void setDatetag(String datetag) { this.datetag = datetag; } @Override public void doTag() throws JspException, IOException { PageContext pc = (PageContext) getJspContext(); SimpleDateFormat sdf = new SimpleDateFormat(datetag); String date = sdf.format(new Date()); JspWriter out = pc.getOut(); out.println(date); } }
以上這篇jstl標(biāo)簽基礎(chǔ)開發(fā)步驟(詳解)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Java并發(fā)編程學(xué)習(xí)之Unsafe類與LockSupport類源碼詳析
這篇文章主要給大家介紹了關(guān)于Java并發(fā)編程學(xué)習(xí)之Unsafe類與LockSupport類源碼的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起看看吧2018-06-06Java concurrency之鎖_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
這篇文章主要為大家詳細(xì)介紹了Java concurrency之鎖的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-06-06詳解Jenkins 實(shí)現(xiàn)Gitlab事件自動(dòng)觸發(fā)Jenkins構(gòu)建及釘釘消息推送
這篇文章主要介紹了Jenkins 實(shí)現(xiàn)Gitlab事件自動(dòng)觸發(fā)Jenkins構(gòu)建及釘釘消息推送,應(yīng)該會(huì)對(duì)大家學(xué)習(xí)Jenkins有所啟發(fā)2021-04-04SpringMVC使用自定義驗(yàn)證器進(jìn)行數(shù)據(jù)驗(yàn)證的方法
SpringMVC?提供了強(qiáng)大的數(shù)據(jù)驗(yàn)證機(jī)制,可以方便地驗(yàn)證表單提交的數(shù)據(jù),除了自帶的驗(yàn)證器之外,SpringMVC?還支持自定義驗(yàn)證器,允許開發(fā)者根據(jù)業(yè)務(wù)需求自定義驗(yàn)證規(guī)則,本文將介紹如何在?SpringMVC?中使用自定義驗(yàn)證器2023-07-07Java實(shí)現(xiàn)的JSONUtil工具類與用法示例
這篇文章主要介紹了Java實(shí)現(xiàn)的JSONUtil工具類與用法,結(jié)合實(shí)例形式分析了Java操作json格式數(shù)據(jù)工具類JSONUtil的定義與簡單使用技巧,需要的朋友可以參考下2018-07-07Java線程中斷機(jī)制interrupt、isInterrupted、interrupted方法詳解
這篇文章主要介紹了Java線程中斷機(jī)制interrupt、isInterrupted、interrupted方法詳解,一個(gè)線程不應(yīng)該由其他線程來強(qiáng)制中斷或停止,而是應(yīng)該由線程自己自行停止,所以,Thread.stop、Thread.suspend、Thread. resume都已經(jīng)被廢棄了,需要的朋友可以參考下2024-01-01