jsp,el表達式
一、jsp
1.jsp頁面(html與jsp的區別)
html頁面屬於一種靜態頁面,jsp是一種動態頁面,html和jsp最大的區別是:在HTML中只能定義css、js等,在jsp中除了可以定義css、js之外還可以定義java代碼,還可以在jsp頁面中使用el表達式和jstl標簽,在jsp中java代碼使用<%代碼%>來聲明。
2.jsp中的註釋
jsp中可以出現四種註釋
(1)原有的html註釋:<!-- -->
(2)單行註釋:// (java中的註釋需要在<% %>中定義)
(3)多行註釋:/* */ (java中的註釋需要在<% %>中定義)
(4)jsp特有的註釋:<%-- --%>
(jsp特有的註釋在頁面查看源碼的方式不能看見;html的註釋在頁面使用查看源碼的方式可以看見)
3.jsp的兩種包含
在一個項目中會出現多個頁面,但這些頁面頭部信息和尾部信息可能是一樣的,這樣就出現了代碼重復的現象,最好的解決方法是將頭部信息和尾部信息定義到獨立的文件中,之後在需要的地方包含就行
兩種包含方式:
靜態包含:<%@ include file=“被包含的文件路徑”%>
動態包含:<jsp:include page=“被包含的文件路徑”/>
面試題:靜態包含和動態包含的區別?
靜態包含:先將需要導入的文件包含之後再編譯成一個*。class文件
動態包含:如果包含的文件是靜態資源,和靜態包含一樣;如果包含的是動態資源(*.jsp),則會將被包含的資源編譯成獨立的class文件之後再進行包含。
二、el表達式概念
expression language表達式語言,是一種在jsp頁面獲取數據的簡單方式(只能獲取數據,不能設置數據)在jsp2.0開始引入概念,他的主要功能是取得保存在內置對象中的數據顯示到jsp頁面。
運算符:1.可以有關系運算(<,>,==,!=,<=,>=),2.還可以邏輯運算(&&,and,||,or,!,not)3. 還可以使用三位運算符(例如${2>3?‘對‘:‘不對’})4. 算術運算符(加減乘除)5. 特殊運算符:empty判斷EL表達式中的表達式是否為空,例如: ${empty sessionScope.user} "."是我們最常用的,作用相當於執行Bean中的get方法。例如:${sessionScope.user.userName}的意思是:在會話中得到名稱為user的Bean對象,通過“.”運算符執行getUserName():方法,返回在放在Bean中的用戶名屬性的值。[]的作用和“.”一樣,只不過[] 運算符可以執行一些不規則的標識符,例如:${user["score-math"]},這個表達式中有不規則的標識符,是不能使用“.”來訪問的。
jsp,el表達式