1 什么是JSTL
JSTL是apache對el表達式的擴展(也就是說JSTL依賴EL)恳不,JSTL是標簽語言啥容!JSTL標簽使用以來非常方便育勺,它與JSP動作標簽一定盯捌,只不過他不是JSP內(nèi)置的標簽赖钞,需要我們自己導(dǎo)包刊驴,以及指定標簽庫而已较解!
2.JSTL標簽庫
JSTL一共包含四大標簽庫
- core:核心標簽庫帽驯,我們學(xué)習(xí)的重點悼瘾;(c 標簽)
<c:out > 輸出
value:可以是字符串常理囊榜,也可以是EL表達式
url
value:指定一個路徑!他會在路徑前面自動添加項目名
子標簽:<c:param>,用來給url后面添加參數(shù) - fmt:格式化標簽庫亥宿,只需要學(xué)習(xí)兩個標簽即可卸勺;
- sql: 過時
- xml過時
3.使用taglib指令導(dǎo)入標簽庫
除了jsp動作標簽外,使用其他第三方標簽庫都需要
導(dǎo)包烫扼;
在使用標簽的jsp頁面中使用taglib指令導(dǎo)入標簽庫
if
if標簽的test屬性必須是一個boolean類型的值曙求,如果test的值為true,那么執(zhí)行if標簽的內(nèi)容映企,否則不執(zhí)行
choose
它對應(yīng)java中的if/else if/.../else
forEach
它用來循環(huán)遍歷數(shù)組悟狱、集合!
它還可以用來技術(shù)方式來循環(huán)堰氓!
計數(shù)方式:
<c:forEach var="i" end="10">
${i}
</c:forEach>
屬性: - var:循環(huán)變量
- begin:設(shè)置循環(huán)變量
- end:設(shè)置循環(huán)變量到結(jié)束
- step:設(shè)置步長挤渐!等同于java中的i++,或i+=2,step默認為1
用來輸出數(shù)組双絮,集合挣菲!
<c:forEach items="{(str )}
</c:forEach>
等同于
for(String str:strs ){
}
屬性:
items:指定要循環(huán)誰,它可以是一個數(shù)組或一個集合
var:把數(shù)組或集合中的每一個元素賦值給var指定的變量
循環(huán)狀態(tài):
可以使用varStatus來創(chuàng)建循環(huán)狀態(tài)變量掷邦!
循環(huán)狀態(tài)變量有如下屬性:
- count:循環(huán)元素的個數(shù)
- index:循環(huán)元素的下標
- first:是否為第一個元素
- last:是否為最后一個元素
- current:當前元素
fmt標簽庫是用來格式化輸出的,通常需要格式化的有時間和數(shù)字
value:指定一個Date類型的變量
pattern:用來指定輸出的模板
自定義標簽
1.步驟
標簽處理類(標簽也是一個對象椭赋,那么久需要先有類)
tld文件抚岗,它是一個xml
頁面中使用<%@taglib%>來指定tld文件的位置
2.標簽處理類
SimpleTag接口
void doTag():每次執(zhí)行標簽時都會調(diào)用這個方法
JspTag getParent():返回父標簽(非生命周期方法)
void setParent():設(shè)置父標簽
void setJspBody(Jspragment):設(shè)置標簽體
void setJspContext(JspContext):設(shè)置jsp上下文對象,它兒子是PageContext
其中doTag()會在其他三個方法之后被調(diào)用
MVC模式
mvc模式是軟件工程中的一種軟件架構(gòu)模式哪怔,把軟件系統(tǒng)分為三個基本部分宣蔚,模型(Model),視圖(View),和控制器(Controller)认境。
MVC可對程序的后期維護和擴展提供方便胚委,并且使程序某些部分的重用提提供了方便,而且MVC也使程序簡化叉信,更加直觀
控制器Controller:對請求進行處理亩冬,負責(zé)請求轉(zhuǎn)發(fā)
視圖View:界面設(shè)計人員進行圖形界面設(shè)計
模型Model:程序編寫程序應(yīng)用的功能
,數(shù)據(jù)庫管理
javaWeb經(jīng)典三層框架
我們常說的三層框架是由javaWeb提出的,也就是說這是javaWeb獨有的
WEB層:包含JSP和Servlet等于WEB先關(guān)的內(nèi)容
業(yè)務(wù)層:業(yè)務(wù)層中不包含JavaWeb APL,它只慣性業(yè)務(wù)邏輯