【黑马程序员西安校区】JSTL快速入门

1 、 JSTL 概述

1.1 、 JSTL 介绍
    百度百科给出的解释:
    
    注:JSP1.2以及Servlet2.3或者是之上版本都可以支持JSTL

1.2 、 JSTL 的作用
    ​和 EL 表达式一起,用来简化 JSP 中 "<% %>" 的书写,简化 JSP 页面,方便后期维护。

1.3 、 JSTL 版本
  •     JSTL1.0  :不支持 EL 表达式
  •     JSTL1.1/JSTL1.2  :支持 EL 表达式,常用

1.4 、 JSTL 标签库介绍 

    JSTL 标签库共计提供了 5 类标签供我们使用,分别是:
        -  核心标签( c 标签) -- 常用,需要记住
        -  格式化标签
        - SQL 标签
        - xml 标签
        - JSTL 函数库(fn 函数)

1.5 、 JSTL 标签使用入门
​要使用 JSTL ,需要做如下操作:
    ​1 、引入 jar
     
​    2 、在 JSP 中引入标签库 ( 以 c 标签为例 )
     
    4 、运行,结果演示
     
    5 、在 JSP 中使用 c 标签

     
2 、 JSTL 常用标签介绍
    JSTL 中常用的就是核心标签库的标签,也称为 c 标签。这里面就来介绍几个比较常用的 c 标签


2.1 、 <c:set>
一般用来向 JSP 作用域中存储数据,相当于 setAttribute()
代码:
[Java]  纯文本查看  复制代码
?
1
2
3
4
5
6
7
8
<!--
var : 存储值对应的名称
value : 存储的值
scope : 作用域,可以是 page|request|session|application
-->
<c:set var= "score" value= "90" scope= "page" ></c:set>
<!--  从作用域中获取 score 的值 -->
成绩: ${pageScope.score } - ${score }


运行结果:
 

2.1 、 <c:out>
向页面输出数据
代码:
[Java]  纯文本查看  复制代码
?
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
<!-- c:out 标签演示 -->
<!--
value : 指定要输出的内容
default : 如果输出的内容为空,就是用 default 的值
escapeXml : 是否要忽略内容中的 html 标签
-->
<!-- value 为普通字符串,直接输出即可 -->
<c:out value= "aaa" ></c:out><br/>
<!--  如果 value 为空,则输出 default -->
<c:out value= "${city }" default = " 北京 " ></c:out><br/>
<!--
如果 value 中包含 html 标签:
需要解析 html 标签,则需要设置 escapeXml= "false"
将 html 标签也作为字符串输出,需要设置 escapeXml= "true"
escapeXml 默认为 true
-->
<c:out value= "<h1>aaaa</h1>" ></c:out><br/>
<c:out value= "<h1>aaaa</h1>" escapeXml= "false" ></c:out><br/>

运行结果如下:
 

2.3 、 <c:if>
**  在 JSP 中替换 if...else... 的脚本代码,完成判断操作
代码:
[Java]  纯文本查看  复制代码
?
01
02
03
04
05
06
07
08
09
10
11
<!-- c: if 演示 -->
<c:set var= "score" value= "90" scope= "page" ></c:set>
<!--
test : 判断的条件
-->
<c: if test= "${score > 90 }" >
优秀
</c: if >
<c: if test= "${score <= 90 }" >
良好
</c: if >

运行结果:

 
注意:<c:if>没有else,如果需要else操作,则需要两个<c:if>

2.4 、 <c:forEach>
**  在页面中完成集合数据的遍历,可以遍历数组、集合、 map 、 ... ,还可以获得连续数字
案例 1- 遍历数组数据:
代码:
[Java]  纯文本查看  复制代码
?
01
02
03
04
05
06
07
08
09
10
11
12
13
<!--  遍历集合 -->
<%
String[] args = { "aaa" , "bbb" , "ccc" , "ddd" };
pageContext.setAttribute( "args" , args);
%>
<!-- 遍历数组 -->
<!--
var : 当前正在遍历的数据
items : 要进行遍历的数组
-->
<c:forEach var= "val" items= "${args }" >
${val }
</c:forEach>

运行结果:
 
案例 2- 遍历集合数据:
代码:
[Java]  纯文本查看  复制代码
?
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
<!--  遍历集合 -->
<%
List<String> args = new ArrayList<String>();
args.add( "aaa" );
args.add( "bbb" );
args.add( "ccc" );
args.add( "ddd" );
pageContext.setAttribute( "args" , args);
%>
<!-- 遍历数组 -->
<!--
var : 当前正在遍历的数据
items : 要进行遍历的集合
-->
<c:forEach var= "val" items= "${args }" >
${val }
</c:forEach>

运行结果:

案例 3- 遍历 map 数据:
代码:
[Java]  纯文本查看  复制代码
?
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
<%
Map<String, String> args = new HashMap<String,String>();
args.put( "aaa" , "111" );
args.put( "bbb" , "222" );
args.put( "ccc" , "333" );
args.put( "ddd" , "444" );
pageContext.setAttribute( "args" , args);
%>
<!-- 遍历数组 -->
<!--
var : 当前正在遍历的数据
items : 要进行遍历的数组
varStatus : 当前状态,可以获取序号
-->
<c:forEach var= "val" items= "${args }" varStatus= "status" >
序号 : ${status.count }, ${val.key } - ${val.value } <br/>
</c:forEach>

运行结果:
 
案例 4- 获取连续数字:
代码:
[Java]  纯文本查看  复制代码
?
1
2
3
4
5
6
7
8
<!--
begin : 起始值
end : 结束值
step : 步长,默认为 1
-->
<c:forEach var= "i" begin= "1" end= "10" step= "1" >
${i }
</c:forEach>

运行结果:
 


1.png (5.75 KB, 下载次数: 0)

1.png
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值