【JSTL】JSTL标签库的常用标签
2024-09-06 04:10:09
一、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域中方便取到用户,看是不是登陆了
(当没登录时首页显示 登录注册,登录后显示用户名和退出)
2)<c:forEach>标签
使用方式有两种
1.
2.
<%@ 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>
结果:
最新文章
- nodejs开发 express路由与中间件
- UI第三节——UIView详解
- [Android] 解析android framework下利用app_process来调用java写的命令及示例
- Robotium编写测试用例如何模拟Junit4的BeforeClass和AfterClass方法2 - SingleLaunchActivityTestCase
- ubuntu上安装mysql 编译安装
- 查看linux发行版本、内核版本命令
- Newtonsoft.Json学习笔记
- 含有特殊字符的JSON串解析方法
- linux下vsftpd的安装与配置说明
- ASP.NET MVC NHibernate 整合
- Codeforces 527D Clique Problem
- Java如何访问Axis2服务端
- Mongodb 安装和启动
- Java 7源码分析第13篇 - 字节输入输出流(1)
- Android 开发笔记“关闭默认键盘”
- 10年java过来人聊聊自己的自学、培训和工作经历
- STM32中GPIO的8种工作模式
- EDF转TXT,EDF转mat,rec转TXT eeg
- postgresql 日志配置
- JS之汉字与Unicode码的相互转化
热门文章
- How to display `top` results sorted by memory usage in real time?
- B1038 统计同成绩学生 (20 分)
- [LeetCode] 152. Binary Tree Upside Down 二叉树的上下颠倒
- python开发--信息处理系统
- 第17课 lambda表达式
- .NET Core:Json和XML
- 国家虚拟仿真实验教学项目共享平台(实验空间)PHP SDK
- vuejs怎么和thinkphp结合
- Rollup 配置 es6 环境
- SQL --------------- order by 排序