首页 技术 正文
技术 2022年11月21日
0 收藏 1000 点赞 4,540 浏览 2789 个字

一、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”%>

 <%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
request.setAttribute("count",11);
%> <!-- test代表的返回 -->
<c:if test="${count==10}">
xxx
</c:if>
<c:if test="count!=10">
yyyy
</c:if> </body>
</html>

用法:

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

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

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

2)<c:forEach>标签

使用方式有两种

1.

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

2.

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

 <%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="domain.*"%>
<%@ page import="java.util.*"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
//遍历List<String> strList
List<String> strList = new ArrayList<String>();
strList.add("itcast");
strList.add("itheima");
strList.add("ithe");
request.setAttribute("strList", strList); //遍历List<User>的值
List<User> userList = new ArrayList<User>();
User user2 = new User();
user2.setId("2");
user2.setName("lisi");
user2.setPassword("123");
userList.add(user2);
User user3 = new User();
user3.setId("3");
user3.setName("wangwu");
user3.setPassword("123");
userList.add(user3);
application.setAttribute("userList", userList); //遍历Map<String,String>的值
Map<String, String> strMap = new HashMap<String, String>();
strMap.put("name", "lucy");
strMap.put("age", "18");
strMap.put("addr", "西三");
strMap.put("email", "licy@111.com");
session.setAttribute("strMap", strMap); //遍历Map<String,User>的值
Map<String, User> userMap = new HashMap<String, User>();
userMap.put("user2", user2);
userMap.put("user3", user3);
request.setAttribute("userMap", userMap);
%> <!-- List<String> strList -->
<c:forEach items="${strList }" var="str">
${str }
</c:forEach>
<br />
<br /> <!-- List<User> -->
<c:forEach items="${userList }" var="user">
${user.name} : ${user.password }
<br />
</c:forEach>
<br />
<br /> <!-- Map<String,String> -->
<c:forEach items="${strMap }" var="entry">
${entry.key } : ${entry.value }
<br />
</c:forEach>
<br />
<br /> <!-- Map<String,User> -->
<!-- entry.key对应 String;entry.value对应User-->
<c:forEach items="${userMap }" var="entry">
${entry.key }: ${entry.value.name }-- ${entry.value.password}
</c:forEach> </body>
</html>

结果:

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

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,082
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,556
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,406
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,179
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,815
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,898