十二、JSTL标签库
2021-02-20 01:18
标签:测试数据 move get jar 创建 ash shm efi getattr 十二、JSTL标签库 标签:测试数据 move get jar 创建 ash shm efi getattr 原文地址:https://www.cnblogs.com/qiaoxin11/p/12925702.html 1 @ page language="java" import="java.util.*" pageEncoding="utf-8"%>
2 @taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
3 --
4 JSTL学习:
5 作用:在jsp页面使用其可以非常方便的进行数据的处理。较与使用java代码块方法,更加的简单,代码更加的简洁易读。
6 使用:
7 核心标签库
8 流程:
9 导入jar包
10 引入标签库
11 %@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
12 内容:
13 基本标签:
14 out标签:c:out value="${表达式}" default="默认值">c:out>
15 作用:结合EL表达式将数据响应给浏览器,如果EL表达式没有取到数据则可以使用default属性声明默认值。
16 set标签: c:set value="数据" var="键名" scope="作用域名">c:set>
17 作用:将数据存储到指定的作用域中,默认是pageContext作用域
18 注意:
19 scope的值为:page request session application
20 remove标签:c:remove var="要删除数据的键名" scope="作用域名"/>
21 作用:删除作用域中的数据,默认是删除四个作用域中的符合要求的数据。
22 但是可以通过scope属性指明要删除的作用域数据。
23 注意:
24 使用pageContext.removeAttriute("键名"), 此方法会将四个作用域中的符合要求的数据全部删除
25 使用pageContext.removeAttriute(String name,int scope)
26 指明要删除的作用域中的数据 scope的值为 1pageContext,2request ,3 session,4 application
27 使用request.removeAttibute("键名") 删除当前作用域符合要求的数据
28 使用session.removeAttibute("键名") 删除当前作用域符合要求的数据
29 使用application.removeAttibute("键名") 删除当前作用域符合要求的数据
30 逻辑标签:
31 单分支判断标签:c:if test="${表达式}">数据c:if>
32 作用:可以根据el表达式进行一定程度的单分支逻辑判断。
33 注意:
34 test属性中书写的是EL表达式,或者说是EL表达式的逻辑表达式。
35 该标签只能进行EL表达式相关的逻辑判断。不能进行EL表达式不能获取的数据的逻辑处理
36 多分支判断标签:
37 c:choose>
38 c:when test="${表达式}">c:when>
39 c:when test="${表达式}">c:when>
40 ..
41 c:otherwise>c:otherwise>
42 c:choose>
43 注意:
44 符合条件后只会执行一个分支,其他分支不会执行。
45 循环标签:
46 c:foreach>
47 循环体
48 c:foreach>
49 属性:
50 begin:声明循环的开始位置
51 end:声明循环的结束位置
52 step:声明循环的步长
53 varStatus:声明变量记录循环状态 ,例如变量名:i
54 注意:记录的数据存储到了作用域中可以直接使用El表达式进行获取
55 示例: ${i.index} 获取当次循环的下标
56 ${i.count} 获取当次循环的次数
57 ${i.first} 判断是否是第一次循环
58 ${i.last} 判断是否是最后一次循环
59 items:声明要遍历的数据,可以是集合和数组等
60 注意:要使用EL表达式来获取
61 var:声明变量记录每次遍历的结果。可以做循环体中使用使用EL表达式获取遍历出来的数据
62 --%>
63 h3>JSTL学习:h3>
64 hr />
65
66 request.setAttribute("str","jstl学习");
67 %>
68
69 =request.getAttribute("str") %>--${str}--c:out value="${str}" default="我是out标签">c:out>
70 br />
71
72
73 request.setAttribute("s1","set标签学习");
74
75 %>
76 c:set value="set标签学习2" var="s2" scope="request">c:set>
77 c:set value="hello pageContext" var="hello" scope="page">c:set>
78 c:set value="hello request" var="hello" scope="request">c:set>
79 c:set value="hello session" var="hello" scope="session">c:set>
80 c:set value="hello application" var="hello" scope="application">c:set>
81 ${s1}--${requestScope.s2}
82 br />
83
84 -- %
85 pageContext.removeAttribute("hello",4);
86 //request.removeAttribute("hello");
87 //session.removeAttribute("hello");
88 %> --%>
89 c:remove var="hello" scope="request"/>
90 ${hello}
91 br />
92
93 c:set var="a" value="12">c:set>
94
95 int b=4;
96 int a=Integer.parseInt((String)pageContext.getAttribute("a"));
97 if(a>8){
98 %>
99 b>今天天气真好,适合学习1b>
100 } %>
101 c:if test="${a>8}">
102 b>今天天气真好,适合学习2b>
103 c:if>
104 br />
105
106 c:set var="score" value="40">c:set>
107 c:choose>
108 c:when test="${score>=90}">
109 i>奖励苹果电脑一台i>
110 c:when>
111 c:when test="${score=80}">
112 i>奖励苹果手机一部i>
113 c:when>
114 c:when test="${score>=70&&score>
115 i>无奖励无惩罚i>
116 c:when>
117 c:otherwise>
118 i>男女混合双打i>
119 c:otherwise>
120 c:choose>
121 br />
122
123 c:forEach begin="0" end="5" step="1" varStatus="i">
124 c:if test="${i.count==3}">
125 u>我是第三次循环u>
126 c:if>
127 11111--${i.index}--${i.count}--${i.first}--${i.last}br />
128 c:forEach>
129
130
131
132 //创建测试数据list
133 ArrayListString> list=new ArrayListString>();
134 list.add("苹果");
135 list.add("榴莲");
136 list.add("荔枝");
137 //将list存储到作用域中
138 request.setAttribute("list",list);
139
140 %>
141 c:forEach items="${list}" var="s" varStatus="i">
142 ${s}--${i.index}--${i.count}br />
143 c:forEach>
144
145
146 //声明Map集合测试数据
147 HashMapString,String> hs=new HashMapString ,String>();
148 hs.put("s1","唱歌");
149 hs.put("s2", "跳舞");
150 hs.put("s3", "敲代码");
151 //将数据存储到作用域中
152 request.setAttribute("hs", hs);
153 %>
154 c:forEach items="${hs}" var="s">
155 ${s.key}--${s.value}br />
156 c:forEach>