国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

綜述JSP2的自定義標(biāo)簽特性

2017-04-15 03:11
福建質(zhì)量管理 2017年17期
關(guān)鍵詞:配置文件銅仁表達(dá)式

(銅仁幼兒師范高等??茖W(xué)校 貴州 銅仁 554300)

綜述JSP2的自定義標(biāo)簽特性

張衛(wèi)

(銅仁幼兒師范高等??茖W(xué)校貴州銅仁554300)

jsp技術(shù)相比較于其他動(dòng)態(tài)網(wǎng)站技術(shù),因?yàn)槠淞己玫囊?guī)范以及安全性得到業(yè)界的廣泛認(rèn)可,2003年發(fā)布的jsp2.0規(guī)范,在原來jsp1.2規(guī)范的基礎(chǔ)上,增加了一些額外的特性,使動(dòng)態(tài)網(wǎng)頁的開發(fā)更便捷,對(duì)團(tuán)隊(duì)協(xié)作開發(fā)提供了良好的支持,因?yàn)閖sp本質(zhì)就是servlet,所以針對(duì)目前servlet3.1對(duì)應(yīng)于當(dāng)下的jsp2.3規(guī)范,jsp2.3一般稱為jsp2。

動(dòng)態(tài)網(wǎng)站;jsp;java;servlet;自定義標(biāo)簽

jsp是從servlet中分離的側(cè)重于表現(xiàn)的動(dòng)態(tài)網(wǎng)頁技術(shù),其中可以對(duì)服務(wù)器程序作出聲明,以及使用運(yùn)行容器提供的內(nèi)部對(duì)象,便于操作和使用。servlet的使用需要在web.xml文件中進(jìn)行對(duì)應(yīng)的配置。jsp2要求web.xml必須使用servlet2.4以上的配置文件。這個(gè)配置體現(xiàn)在web.xml中web-app節(jié)點(diǎn)的version屬性中。技術(shù)的變革必然帶來一些新的特性,jsp2主要表現(xiàn)在以下幾個(gè)方面:

(1)表達(dá)式語言。

(2)直接配置jsp屬性。

(3)簡化的自定義標(biāo)簽API。

(4)Tag文件語法。

其中jsp屬性的配置可以在web.xml中進(jìn)行,通常jsp屬性的配置主要包括以下四個(gè)方面,是否允許表達(dá)式語言,是否允許使用jsp腳本,聲明jsp編碼,使用隱式包含其他頁面。格式如下:

匹配文件

是否忽略表達(dá)式語言

字符編碼

是否允許使用腳本

隱式導(dǎo)入的頁面頭

隱式導(dǎo)入的頁尾

在上面配置文件中采用漢字提示各個(gè)標(biāo)簽內(nèi)部意義,可以直觀看出配置文件可以批量設(shè)置文件的作用屬性,不同配置策略可以使用多個(gè)jsp-property-group標(biāo)簽來設(shè)置。

表達(dá)式語言EL(expression language)是一種簡化的數(shù)據(jù)訪問方式。在jsp中建議盡量使用表達(dá)式語言,如此可以避免使用java腳本,保證jsp文件風(fēng)格一致。表達(dá)式語言使用格式比較簡單,格式為${expression},這些表達(dá)式可以是一些基本的運(yùn)算,如${12/3}等,也可以支持表達(dá)式語言的內(nèi)置對(duì)象以及其自定義函數(shù)。注意在支持表達(dá)式的頁面$符號(hào)被賦予特殊的作用,所以要輸出$要加轉(zhuǎn)義符。

下面介紹下EL的內(nèi)置對(duì)象,表達(dá)式語言主要包含11個(gè)內(nèi)置對(duì)象,包括pageContext,pageScope,requestScope,sessionScope,applicationScope,param,parameValues(數(shù)組),header,headerValues,initParam,cookie。訪問格式為${內(nèi)置對(duì)象.屬性}或者${內(nèi)置對(duì)象[屬性]},如${header.host},${cookie[“name”].value},${sessionScope[“user”]}等。

表達(dá)式語言還可以通過其自定義函數(shù)擴(kuò)充自身的功能,其定義方法近似于標(biāo)簽的開發(fā)步驟,分為以下三步:

1.開發(fā)函數(shù)處理類,不用向標(biāo)簽類那樣繼承于SimpleTagSupport類,直接是普通類即可,但是內(nèi)部需要包含靜態(tài)方法。

2.使用標(biāo)簽庫定義函數(shù),其中只要配置name,function-class,function-signature即可。

3.在jsp的EL中使用函數(shù)。使用的時(shí)候需要先導(dǎo)入標(biāo)簽庫,然后使用函數(shù)。

下面請(qǐng)看簡單示例:

public class MyFun

{

public static int tongji(String str)

{

return str.length;}

public static String fan(String str)

{

return new String().reverse();

}

}

在src路徑下配置mytag.tld

<?xml version=”1.0”encoding=”gbk”>

1.0

majic

包.MyFun

java.lang.String fan(java.lang.String)

其他方法的配置

在頁面中使用的時(shí)候需要調(diào)用tld配置文件中的shortname并聲明(<%@ taglib prefix=”majic”uri=”唯一標(biāo)識(shí)”%>),格式為${shortname:函數(shù)(參數(shù))},如${majic:fan(“nihao”)}。

另外如果覺得使用自定義標(biāo)簽比較麻煩的話,還可以使用Tag File自定義標(biāo)簽,使用Tag File無須定義標(biāo)簽處理類和標(biāo)簽庫文件而能在頁面中使用自定義標(biāo)簽的一種方法。

其使用分為兩步,首先建立Tag文件,tag文件具有5個(gè)編譯指令,tablib,include,tag,attribute,variable,其頁面使用語法接近于jsp。

<%@ tag pageEncoding=”gbk”import=”java.util.List”%>

<%@ attribute name=”tag1”%>

<%@ attribute name=”tag2”%>

<% List list=(List)request.getAttribute(“att”);

for(Object obj:list)

{%>

%}%>

在網(wǎng)頁中調(diào)用的時(shí)候首先加載自定義標(biāo)簽,啟動(dòng)聲明,<%@ taglib prefix=”majic”tagdir=”/路徑/每個(gè)標(biāo)簽是一個(gè)文件”%>

在頁面中調(diào)用的時(shí)候,可以將一個(gè)List存入request屬性,然后使用標(biāo)簽調(diào)用得到。

即可得到對(duì)應(yīng)的調(diào)用。注意在tagfile中只有request,response,session,application,config,out等幾個(gè)內(nèi)置對(duì)象。

總結(jié):

使用表達(dá)式語言可以簡化數(shù)據(jù)庫訪問方式,封閉程序的調(diào)用結(jié)構(gòu),從而讓這個(gè)頁面表現(xiàn)具備統(tǒng)一的規(guī)范,便于美工設(shè)計(jì)人員使用該語法獲取業(yè)務(wù)邏輯組件傳來的變量值,給開發(fā)帶來了極大的便利。

[1]基于J2EE平臺(tái)MVC模式的就業(yè)管理信息系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].靳秀蘭,張曉琳.科技信息.2010(02)

[2]基于AJAX和XML的無線通訊基站查詢系統(tǒng)設(shè)計(jì)[J].張明,戴友元.價(jià)值工程.2010(05)

張衛(wèi),碩士研究生學(xué)歷,計(jì)算機(jī)科學(xué)與技術(shù)專業(yè),銅仁幼兒師范高等專科學(xué)校講師,研究方向有網(wǎng)格計(jì)算,計(jì)算機(jī)軟件與程序設(shè)計(jì),多年從事一線教育工作和知名大學(xué)計(jì)算機(jī)實(shí)訓(xùn)培訓(xùn)工作。

猜你喜歡
配置文件銅仁表達(dá)式
一個(gè)混合核Hilbert型積分不等式及其算子范數(shù)表達(dá)式
表達(dá)式轉(zhuǎn)換及求值探析
互不干涉混用Chromium Edge
淺析C語言運(yùn)算符及表達(dá)式的教學(xué)誤區(qū)
忘記ESXi主機(jī)root密碼怎么辦
尋味貴州——銅仁
天地大美——銅仁梵凈山
為View桌面準(zhǔn)備父虛擬機(jī)
看雪——銅仁梵凈山
輪楊樹達(dá)義近旁任作
汝州市| 漳浦县| 泸西县| 湟源县| 平武县| 南宫市| 盐边县| 建水县| 凤台县| 弥勒县| 灌云县| 遵化市| 曲阜市| 合水县| 汶上县| 上饶县| 永年县| 突泉县| 沁阳市| 沂源县| 济南市| 柘城县| 古田县| 张家口市| 涞水县| 三原县| 秀山| 奉节县| 兴安县| 景东| 孟州市| 永清县| 绵竹市| 长阳| 获嘉县| 离岛区| 兖州市| 新乐市| 曲阳县| 大名县| 景宁|