【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)标签,其中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 heretitle>
 9 head>
10 <body>
11 <%
12 request.setAttribute("count",11);
13 %>
14 
15     
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域中方便取到用户,看是不是登陆了

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

【JSTL】JSTL标签库的常用标签_第1张图片

 

 

2)标签

使用方式有两种

 1.

 【JSTL】JSTL标签库的常用标签_第2张图片

2.

【JSTL】JSTL标签库的常用标签_第3张图片

 

 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 heretitle>
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", "[email protected]");
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     
52     <c:forEach items="${strList }" var="str">
53     ${str }
54     c:forEach>
55     <br />
56     <br />
57 
58     
59     <c:forEach items="${userList }" var="user">
60     ${user.name} : ${user.password }
61     <br />
62     c:forEach>
63     <br />
64     <br />
65 
66     
67     <c:forEach items="${strMap }" var="entry">
68     ${entry.key } : ${entry.value } 
69     <br />
70     c:forEach>
71     <br />
72     <br />
73 
74     
75     
76     <c:forEach items="${userMap }" var="entry">
77      ${entry.key }: ${entry.value.name }-- ${entry.value.password}
78     c:forEach>
79 
80 body>
81 html>

结果:

【JSTL】JSTL标签库的常用标签_第4张图片

 

 

 

你可能感兴趣的:(【JSTL】JSTL标签库的常用标签)