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

 

1、JSTL技术

1.JSTL概述

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

 

标签库java

标签库的URIapache

前缀session

Coreapp

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

cjsp

 

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)spa

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

 

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>

结果:

相关文章
相关标签/搜索