ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

JSTL标签库

2021-01-08 14:33:06  阅读:182  来源: 互联网

标签:前缀 jstl 标签 JSTL books jsp fn


jstl:JSP标准标签库。主要提供一些标签简化JSP代码。这些标签都有特定的功能。

目录

一、使用jstl标签

1.1 引入依赖包

jstl-1.2.jar
standard-1.1.2.jar

 <!-- jsp依赖jar包start -->
    <dependency>
      <groupId>javax.servlet.jsp</groupId>
      <artifactId>javax.servlet.jsp-api</artifactId>
      <version>2.3.1</version>
    </dependency>
    <!-- jsp依赖jar包end -->
    <dependency>
      <groupId>taglibs</groupId>
      <artifactId>standard</artifactId>
      <version>1.1.2</version>
    </dependency>
    <!--jstl标签依赖的jar包start -->
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>jstl</artifactId>
      <version>1.2</version>
    </dependency>

1.2 引入标签库文件

  • 在JSP页面使用taglib指令引入标签库文件;

核心标签库:http://java.sun.com/jsp/jstl/core 推荐前缀名:c

格式化标签库:http://java.sun.com/jsp/jstl/fmt 推荐前缀名:fmt

函数标签库:http://java.sun.com/jsp/jstl/functions 推荐前缀名:fn

以引入核心标签库为例

<%@taglib uri="标签库的url" prefix="前缀名" %>

标签库的url自己指定的,可以是任意的url路径。
如果要访问jstl标签库的标签,必须要通过“前缀名”进行访问。而前缀名可以是任意名字。

二、 常用标签的使用

2.1 核心标签

  • if标签:条件判断
<c:if test="${逻辑判断条件}"/>
	body...
</c:if>
  • forEach标签:循环数组或集合
<c:forEach items="${数组或集合}" var="属性名">
   ${pageCope.属性名}
</c:forEach>

forEach标签遍历数组或集合的时候,它会把遍历出来的每一个元素都保存在pageContext域对象的属性中。属性名就是使用var来指定的。

注意:遍历Map集合的时候,遍历出来的每一个元素是一个Entry对象。
示例:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ page import="java.util.*" %>
<!-- 引入jstl的核心标签库 -->
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<% 
	//String[] books = {"三国演义", "西游记", "红楼梦"};
	//pageContext.setAttribute("books", books);
	
	
	//List<String> books = new ArrayList<String>();
	//books.add("西游记");
	//books.add("海底总动员");
	//books.add("海底三万里");
	//pageContext.setAttribute("books", books);
	
	Map<String, Integer> books = new HashMap<String, Integer>();
	books.put("西游记", 99);
	books.put("海底总动员", 199);
	books.put("海底三万里", 79);
	pageContext.setAttribute("books", books);
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
	<!-- 遍历数组或List集合 
	<c:forEach items="${pageScope.books}" var="book">
		${pageScope.book}<br/>
	</c:forEach>-->
	
	<!-- 遍历Map集合, 遍历出来每一个元素是一个Map.Entry对象 -->
	<c:forEach items="${pageScope.books}" var="book">
		<%-- ${pageScope.book.getKey()} --> ${pageScope.book.getValue()}<br/> --%>
		${pageScope.book.key} --> ${pageScope.book.value}<br/>
	</c:forEach>
	
	
</body>
</html>

2.2 格式化标签

日期格式化标签:

<fmt:formatDate value="${日期对象}" pattern="日期模式"/>

日期模式与SimpleDateFormat对象所使用模式一样。

2.3 函数标签

定义格式:

${fn:函数名(参数列表)}

下面列举了一些常用函数:

  • toLowerCase():把字符串全部转换小写;
  • toUpperCase():把字符串全部转换大写;
  • ength():获取字符串的长度;
  • substring():截取字符串;
<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%>
<% 
	String name = "ChinaSoft";
	pageContext.setAttribute("name", name);
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
	<!-- 把name属性的内容全部转换成小写 -->
	${fn:toLowerCase(name)}	<br/>
	<!-- 把name属性的内容全部转换成大写 -->
	${fn:toUpperCase(name)}	<br/>
	<!-- 获取内容的长度 -->
	${fn:length(name)}	<br/>
	<!-- 截取字符串内容,第一个参数就是要截取的字符串,第二个参数代表开始截取的位置,第三个参数代表最后截取的位置 -->
	${fn:substring(name, 1, 5)}	<br/>
</body>
</html>

标签:前缀,jstl,标签,JSTL,books,jsp,fn
来源: https://blog.csdn.net/jc_hook/article/details/112359351

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有