最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

【知了堂】Java中的JSTL與EL表達(dá)式

2021-04-28 13:46 作者:匯智知了堂  | 我要投稿

一、JSP

1、基本介紹

  • 什么是JSP?
    從用戶的角度看,就是一個(gè)網(wǎng)頁(yè),從程序員的角度看,其實(shí)就是一個(gè)Java類,它繼承了Servlet,所以可以直接說(shuō)jsp就是一個(gè)servlet


  • 為什么會(huì)有JSP?
    html多數(shù)情況下用來(lái)顯示靜態(tài)內(nèi)容,一成不變的,但是有時(shí)候我們需要在網(wǎng)頁(yè)上顯示一些動(dòng)態(tài)數(shù)據(jù),比如,查詢所有學(xué)生信息。這些動(dòng)作都需要查詢數(shù)據(jù)庫(kù),然后在網(wǎng)頁(yè)上顯示,html不支持寫java代碼,jsp里面可以寫jsp

2、怎么用JSP?

  • JSP三大指令

? 格式:<%@ 指令名字 %> 1、page指令(里面的一些屬性): ? ?language:表面里面可以寫什么語(yǔ)言 ? ? ? ?contentType="text/html;charset=UTF-8":告訴瀏覽器我們是內(nèi)容類型,以及用的什么編碼 ? ?pageEncoding:jsp內(nèi)容編碼 ? ?extends:jsp翻譯成java時(shí)候,繼承的父類是誰(shuí),一般不用寫 ? ?session:可選值有true和false,用于控制這個(gè)jsp頁(yè)面里面,是否可以直接使用session對(duì)象 ? ?errorPage:如果當(dāng)前頁(yè)面發(fā)送錯(cuò)誤,值會(huì)跳轉(zhuǎn)的路徑 ? ?iserrorPage:指明當(dāng)前路徑是不是錯(cuò)誤頁(yè)面 2、include指令(包含一個(gè)頁(yè)面): ? ?寫法:<%@include file = "頁(yè)面名字" %> ? ?背后細(xì)節(jié):把另外一個(gè)頁(yè)面的所有內(nèi)容拿過(guò)來(lái)一起輸出,所有的標(biāo)簽元素都包含進(jìn)來(lái)輸出。 3、taglib指令(引入標(biāo)簽庫(kù)) ? ?寫法:<%@ taglib prefix=" " ?uri = " " %> ? ? ? ?uri:標(biāo)簽庫(kù)路徑 ? ?prefix:標(biāo)簽庫(kù)別名

JSP的常用動(dòng)作標(biāo)簽

<jsp:include page="頁(yè)面路徑"></jsp:include>:jsp包含的頁(yè)面路徑,這邊包含進(jìn)來(lái)的頁(yè)面只是把在執(zhí)行完的經(jīng)過(guò)傳進(jìn)來(lái),而不是把元素標(biāo)簽一起傳進(jìn)來(lái)輸出 <jsp:forward page="頁(yè)面路徑"></jsp:forward>:跳轉(zhuǎn)到哪一個(gè)頁(yè)面,相當(dāng)于請(qǐng)求轉(zhuǎn)發(fā) <jsp:param name="" value=""></jsp:param>:包含在某個(gè)頁(yè)面的時(shí)候,或者在跳轉(zhuǎn)在某個(gè)頁(yè)面的時(shí)候,加入這個(gè)參數(shù),通常寫在上面兩個(gè)標(biāo)簽之間,在跳轉(zhuǎn)到的頁(yè)面用request.getParamter("")接收

JSP9大內(nèi)置對(duì)象

介紹: ? ? ?所謂內(nèi)置對(duì)象,就是我們可以直接在jsp頁(yè)面中使用這些對(duì)象。不用創(chuàng)建,在<% %>里面 9大內(nèi)置對(duì)象 ?四個(gè)域?qū)ο螅? ? ? ?什么是域?qū)ο螅罕硎具@些對(duì)象可以存值,他們的取值范圍有限定,存取值都是通過(guò)setAttribute()和getAttribute() ? ? ?pageContext(是pageContext類型):作用域只限定于當(dāng)前頁(yè)面,用這個(gè)對(duì)象可以拿到其他的八個(gè)對(duì)象 ? ? ?request(是HttpServletRequest類型):作用域僅僅限于一次請(qǐng)求(用請(qǐng)求轉(zhuǎn)發(fā)就可以可以在頁(yè)面中傳值,重定向不可以),重定向不可以是因?yàn)椋褐灰?wù)器對(duì)該請(qǐng)求作出了響應(yīng),這個(gè)域中存的值就沒(méi)有了 ? ? ?session(是httpSession類型):作用域僅僅限于一次會(huì)話。會(huì)話:簡(jiǎn)單來(lái)說(shuō)打開(kāi)瀏覽器,訪問(wèn)服務(wù)器,直到瀏覽器關(guān)閉,稱為一次會(huì)話 ? ? ?application(是ServletContext類型):整個(gè)工程都可以使用,服務(wù)器關(guān)閉之后就不可以用了 ?2個(gè)使用頻率一般的對(duì)象: ? ? ?response(是HttpServletResponse類型):直接輸出,response.getWrite().write("") ? ? ?out(是JspWriter類型):這個(gè)對(duì)象輸出要先把內(nèi)容防止response的緩沖區(qū)去,再輸出,out.write(" ") ? ? ?注意:所以,當(dāng)這兩個(gè)對(duì)象在同一個(gè)頁(yè)面的時(shí)候,要先輸出response的數(shù)據(jù),再輸出out的數(shù)據(jù) ?3個(gè)其他對(duì)象: ? ? ?exception(是Throwable類型) ? ? ?page(是object類型):就是這個(gè)jsp翻譯成的java類的實(shí)例對(duì)象 ? ? ?config(是ServletConfig類型)

二、EL表達(dá)式(取值和比較值)

1、基本介紹

產(chǎn)生:是為了簡(jiǎn)化咱們的jsp代碼,具體宜點(diǎn)就是為了簡(jiǎn)化在jsp里面寫的那些Java代碼格式:${表達(dá)式}

2、怎么用

  • 取值

1、使用EL表達(dá)式取出作用域中的值: ?pageContext.setAttribute("name","page") ?普通手段取值:<%= pageContext.getAttribute("name") %> ?EL表達(dá)式取法:${pageScope.name} 2、使用EL表達(dá)式取出作用域中數(shù)組的值: ?<%String[ ] a ={"aa","bb","cc","dd"};pageContext.setAttribute("array",a); %> ?EL表達(dá)式取值:${array[0] } 3、使用EL表達(dá)式取集合中的值: ?<%List list = new ArrayList();list.add("11"); ? pageContext.setAttribute("li",list)%> ?EL表達(dá)式取值:${li[0] } 4、使用EL表達(dá)式取出集合中的值: ?<%Map map = new HashMap(); map.put("name","zhangsan");map.put("address.a","深圳");pageContext.setAttribute("map",map);%> ?EL表達(dá)式取值:${map.name}, ? ${map["address.a"]} 注意: ?${name}:表示先從page里面找,沒(méi)有的話之后request,session都沒(méi)有的話最后去appplication里面找 ?${pageScope.name}:表示去特定的pageContext去找 ?取值方式:如果這份值有下標(biāo),直接使用[],如果這份值沒(méi)有下標(biāo),直接使用 . ?的方式去取


data = pd.read_csv( 'https://labfile.oss.aliyuncs.com/courses/1283/adult.data.csv') print(data.head())

EL表達(dá)式的11個(gè)內(nèi)置對(duì)象

取值格式:${對(duì)象名.成員} 四個(gè)作用域相關(guān)對(duì)象: ? ? ?pageScope ? ? ?requestScope ? ? ?sessionScope ? ? ?applicationScope 兩個(gè)請(qǐng)求頭相關(guān)對(duì)象: ? ? ?header ? ? ?headerValues 兩個(gè)請(qǐng)求參數(shù)相關(guān)對(duì)象: ? ? ?param ? ? ?paramValues 其他: ? ? ?cookie ? ? ?initParam:可得到全局初始化參數(shù) ? ? ?pageContext

三、JSTL

java standard Tag Library,簡(jiǎn)化jsp的代碼編寫,本身是為了替換<% %>寫法,一般與EL表達(dá)式配合

2、怎么使用

  • 導(dǎo)入

步驟: ?1、導(dǎo)入jar文件到工程(jstl.jar和standard.jar) ?2、在jsp頁(yè)面上,使用taglib指令,來(lái)引入標(biāo)簽庫(kù) ?3、注意:如果想支持EL表達(dá)式,那么引入的標(biāo)簽庫(kù)必須選擇1.1版本,1.0的版本不支持EL表達(dá)式

常用標(biāo)簽

c:set ?儲(chǔ)存一個(gè)值到作用域當(dāng)中 ?寫法:<s:set></c:set> c:if ?判斷 c:forEach ?遍歷

簡(jiǎn)單測(cè)試:

JSTL與EL整合測(cè)試

簡(jiǎn)單測(cè)試:

輸出:

總結(jié)

這里介紹了jsp的基本,三大指令,常用動(dòng)作標(biāo)簽,以及九個(gè)內(nèi)置對(duì)象;還介紹了EL表達(dá)式,他就是為了簡(jiǎn)化jsp里面的Java代碼而生,這里介紹了他如何取值,以及它的11個(gè)內(nèi)置對(duì)象,它的兩大作用就是取值和比較;最后介紹了JSTL,就是一個(gè)標(biāo)簽庫(kù),也是為了簡(jiǎn)化jsp的代碼而生,還介紹了他的一些常用標(biāo)簽。


【知了堂】Java中的JSTL與EL表達(dá)式的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
吉隆县| 辽源市| 河曲县| 和林格尔县| 宜章县| 清徐县| 镇安县| 社旗县| 原平市| 芦溪县| 古浪县| 通榆县| 胶州市| 东辽县| 龙山县| 高台县| 阜城县| 南康市| 新安县| 中山市| 双桥区| 阳东县| 琼结县| 原阳县| 荆门市| 西平县| 祁东县| 怀集县| 米易县| 蕲春县| 博爱县| 北海市| 南乐县| 通山县| 南澳县| 福安市| 巴彦淖尔市| 蒲城县| 临沂市| 杭锦旗| 岫岩|