JSP標簽學習筆記(內置標簽+JSTL標簽)

二.JSP標簽

作用:

1.流程判斷
2.跳轉頁面
....

分類:

1.內置標簽:不需要在JSP頁面導入標簽
2.jstl標簽:需要在JSP頁面中導入標簽
3.自定義標簽:開發者自定義,需要在JSP頁面導入標簽

動態標簽:

1.轉發標簽:<jsp:forWard/>
2.參數標簽:<jsp:pararm/>
3.包含標簽:<jsp:include/>

1.內置標簽

  • 轉發標簽<jsp:forWard/>
index.jsp主要代碼
  <jsp:forward page="index2.jsp">
    <jsp:param name="mahan" value="huan"></jsp:param>
  </jsp:forward>
index2.jsp
<%--
  Created by IntelliJ IDEA.
  User: pc
  Date: 17-4-14
  Time: 下午4:37
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
<%=request.getParameter("mahan")%>
</body>
</html>

  • 包含標簽<jsp:include/>
index.jsp主要代碼
<jsp:include page="head.jsp"></jsp:include>
  上面是頭部
head.jsp代碼
<%--
  Created by IntelliJ IDEA.
  User: pc
  Date: 17-4-14
  Time: 下午4:46
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
<h1>我是頭部</h1>
</body>
</html>

2.jstl標簽

全名(java standard tag libarary) java標準標簽庫

1.核心標簽庫(C標簽庫)--重點
2.國際哈化標簽庫(fmt標簽庫)
3.EL函數庫(fn函數庫)
4.XML標簽庫(x標簽庫)--次要
5.sql標簽庫(sql標簽庫)--次要

  • 核心標簽庫
    保存數據:
    <c:set></c:set>
    獲取數據:
    <c:out value=""></c:out>
    單條件判斷:
    <c:if test=""></c:if>
    <多條件判斷>
    <c:choose></c:choose>
    <c:when test=""></c:when>
    <c:otherwise></c:otherwise>
    循環數據:
    <c:forEach></c:forEach>
    <c:forTokens items="" delims="">
    </c:forTokens>
    重定向 :
    <c:redirect></c:redirect>

1)導入jstl支持的jar包:下載地址 密碼: g853
2)導入標簽庫

<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

3)標簽

a.保存數據:<c:set></c:set>.

默認將數值存入page域中

<c:set var="mahuan" value="huanhuan"></c:set>
${mahuan}

scope="域對象"(page,request,session,application)

<c:set var="mahuan" value="huanhuan" scope="request"></c:set>
${requestScope.mahuan}

b.獲取數據:<c:out value=""></c:out>

從域中獲取數值

<c:set var="mahuan" value="huanhuan" scope="request"></c:set>
<c:out value="${mahuan}"></c:out>

default="默認值" 當值為null時顯示默認值
escapeXml=" "(true false)是否對value的值進行轉義默認轉義(true)

<%
    String str =null;
    pageContext.setAttribute("aaa",str);
%>
<c:out value="${aaa}" default="<h2>默認值</h2>" escapeXml="false"></c:out>

c.單條件判斷:<c:if test=""></c:if>

test=" "(true false)判斷是否要輸出

<c:if test="true">
    判斷輸出
</c:if>
<c:if test="${30>22}">
    判斷輸出
</c:if>

d.<多條件判斷>
<c:choose></c:choose>
<c:when test=""></c:when>
<c:otherwise></c:otherwise>

<c:set var="mahuan" value="78" ></c:set>
<c:choose>
    <c:when test="${mahuan>90 && mahuan<=100}">
        特等獎
    </c:when>
    <c:when test="${mahuan>80 && mahuan<=90}">
        一等獎
    </c:when>
    <c:when test="${mahuan>70 && mahuan<=80}">
        二等獎
    </c:when>
    <c:when test="${mahuan>60 && mahuan<=70}">
        三等獎
    </c:when>
    <c:otherwise>
        參賽獎
    </c:otherwise>
</c:choose>

e.循環數據:<c:forEach></c:forEach>

begin= " " 從那個元素開始遍歷,默認從0開始
end=" " 到那個數據結束,默認到最后一個結束
step=“ ” 步長 默認為1
items=“ ” 需要遍歷的數據集合
var=“ ” 每個元素的名稱
varStatus= “ ” 當前正在遍歷元素的狀態對象(count屬性:當前位置,從1開始)--序列

list集合:

<%
   List<Student> list= new ArrayList<Student>();
   list.add(new Student("張三","21"));
   list.add(new Student("小明","32"));
   list.add(new Student("小花","44"));
   pageContext.setAttribute("list",list);
%>

<c:forEach begin="0" end="2" items="${list}" step="1" var="Student" varStatus="varsta">
   序號:${varsta.count} 姓名: ${Student.name}  年齡:${Student.age}<br>
</c:forEach>

map集合:

<%
    Map<String ,Student> map = new HashMap<String,Student>();
    map.put("011",new Student("張飛","44"));
    map.put("012",new Student("小花","47"));
    map.put("013",new Student("小明","52"));
    pageContext.setAttribute("map",map);
%>
<c:forEach begin="0" end="2" items="${map}" step="1" var="Student" varStatus="varsta">
    序號:${varsta.count}  編號${Student.key} 姓名: ${Student.value.name}  年齡:${Student.value.age}<br>
</c:forEach>

f.<c:forTokens items="" delims=""> </c:forTokens>

循環特殊字符串

<%
    String sr = "ma-huan-huan-ni-hao";
    pageContext.setAttribute("huan",sr);
%>
<c:forTokens items="${huan}" delims="-" var="s">
    ${s}<br>
</c:forTokens>

g.<c:redirect></c:redirect>

重定向

<c:redirect url="http://www.lxweimin.com/u/ac5fd281184c"></c:redirect>

文集:JavaEE--學習筆記

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,501評論 6 544
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,673評論 3 429
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 178,610評論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,939評論 1 318
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,668評論 6 412
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 56,004評論 1 329
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 44,001評論 3 449
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 43,173評論 0 290
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,705評論 1 336
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,426評論 3 359
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,656評論 1 374
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,139評論 5 364
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,833評論 3 350
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,247評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,580評論 1 295
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,371評論 3 400
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,621評論 2 380

推薦閱讀更多精彩內容