【JSTL】JSTL标签库的常用标签

 

一、JSTL技术

1.JSTL概述

JSTL(JSP Standard Tag Library),JSP标准标签库,可以嵌入在jsp页面中使用标签的形式完成业务逻辑等功能。jstl出现的目的同el一样也是要提到jsp页面中的脚本代码。JSTL标准标准标签库有5个子库,但随着发展,目前常使用的是他的核心库

 

标签库

标签库的URI

前缀

Core

http://java.sun.com/jsp/jstl/core

c

 

2.JSTL下载与导入

从Apache的网站下载JSTL的JAR包。进入“http://archive.apache.org/dist/jakarta/taglibs/standard/binaries/”网址下载  JSTL的安装包。jakarta-taglibs-standard-1.1.2.zip,然后将下载好的JSTL安装包      进行解压,此时,在lib目录下可以看到两个JAR文件,分别为jstl.jar和standard.jar。

其中,jstl.jar文件包含JSTL规范中定义的接口和相关类,standard.jar文件包含用于 实现JSTL的.class文件以及JSTL中5个标签库描述符文件(TLD)

将两个jar包导入工程的lib中

 

2.JSTL核心库的常用标签

1)<c:if test=" ">标签,其中test是返回boolean的条件

*引入标签库:<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>

 1 <%@ page language="java" contentType="text/html; charset=UTF-8"
 2     pageEncoding="UTF-8"%>
 3 <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
 4 <!DOCTYPE html>
 5 <html>
 6 <head>
 7 <meta charset="UTF-8">
 8 <title>Insert title here</title>
 9 </head>
10 <body>
11 <%
12 request.setAttribute("count",11);
13 %>
14 
15     <!-- test代表的返回 -->
16     <c:if test="${count==10}">
17 xxx
18 </c:if>
19     <c:if test="count!=10">
20 yyyy
21 </c:if>
22 
23 
24 </body>
25 </html>

 

用法:

将当前用户放到session域,在访问其他资源时,可以从session域中方便取到用户,看是不是登陆了

(当没登录时首页显示 登录注册,登录后显示用户名和退出)

 

 

2)<c:forEach>标签

使用方式有两种

 1.

 

2.

 

 1 <%@ page language="java" contentType="text/html; charset=UTF-8"
 2     pageEncoding="UTF-8"%>
 3 <%@ page import="domain.*"%>
 4 <%@ page import="java.util.*"%>
 5 <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
 6 
 7 <!DOCTYPE html>
 8 <html>
 9 <head>
10 <meta charset="UTF-8">
11 <title>Insert title here</title>
12 </head>
13 <body>
14     <%
15         //遍历List<String> strList
16         List<String> strList = new ArrayList<String>();
17         strList.add("itcast");
18         strList.add("itheima");
19         strList.add("ithe");
20         request.setAttribute("strList", strList);
21 
22         //遍历List<User>的值
23         List<User> userList = new ArrayList<User>();
24         User user2 = new User();
25         user2.setId("2");
26         user2.setName("lisi");
27         user2.setPassword("123");
28         userList.add(user2);
29         User user3 = new User();
30         user3.setId("3");
31         user3.setName("wangwu");
32         user3.setPassword("123");
33         userList.add(user3);
34         application.setAttribute("userList", userList);
35 
36         //遍历Map<String,String>的值
37         Map<String, String> strMap = new HashMap<String, String>();
38         strMap.put("name", "lucy");
39         strMap.put("age", "18");
40         strMap.put("addr", "西三");
41         strMap.put("email", "licy@111.com");
42         session.setAttribute("strMap", strMap);
43 
44         //遍历Map<String,User>的值
45         Map<String, User> userMap = new HashMap<String, User>();
46         userMap.put("user2", user2);
47         userMap.put("user3", user3);
48         request.setAttribute("userMap", userMap);
49     %>
50 
51     <!-- List<String> strList -->
52     <c:forEach items="${strList }" var="str">
53     ${str }
54     </c:forEach>
55     <br />
56     <br />
57 
58     <!--     List<User> -->
59     <c:forEach items="${userList }" var="user">
60     ${user.name} : ${user.password }
61     <br />
62     </c:forEach>
63     <br />
64     <br />
65 
66     <!-- Map<String,String> -->
67     <c:forEach items="${strMap }" var="entry">
68     ${entry.key } : ${entry.value } 
69     <br />
70     </c:forEach>
71     <br />
72     <br />
73 
74     <!-- Map<String,User> -->
75     <!-- entry.key对应 String;entry.value对应User-->
76     <c:forEach items="${userMap }" var="entry">
77      ${entry.key }: ${entry.value.name }-- ${entry.value.password}
78     </c:forEach>
79 
80 </body>
81 </html>

结果:

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值