初识JSTL核心标签库(JSP Standard Tag Library)
初识JSTL核心标签库(JSP Standard Tag Library)
JSP标准标签库(JSTL)是一个JSP标签集合,它封装了JSP应用的通用核心功能。可以应用于各种领域,如基本输入输出、流程控制、循环、XML文件剖析等。
本文主要介绍下Eclipse中使用JSTL以及基本数据操作。
首先Eclipse使用JSTL需要导入jstl包:
下载链接:https://pan.baidu.com/s/1IN6aY3SceEYqjkqMx2dHaw 提取码:pvfj
打开Eclipse,新建工程,将下载的包拷贝到工程的WebContent文件夹下WEB-INF的lib文件夹下
图1 复制jstl包
然后新建Jsp文件。在文件中添加
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>指令
在此处介绍几个比较常用的表达式操作标签:<c:out>、<c:set>;以及流程控制标签<c:if>、<c:choose>、<c:when>、<c:otherwise>、<c:forEach>以及<c:forToken>。
1.<c:out>主要用来显示内容,基本语法格式:
<c:out value="变量名"></c:out>
<%@ page language="java" contentType="text/html; charset=utf-8"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <html> <body> <% session.setAttribute("msg", "71"); %> <c:out value="${msg}" ></c:out> </body> </html> |
2.<c:set>设置Javabean属性或者变量值
核心代码放置在body体中:
<c:set scope="session" var="msg1" value="hiiii"></c:set> <c:out value="${msg1 }"></c:out> |
流程控制标签:
3.<c:if>用于条件判断,基本语法:
<c:if test="${判断条件}">语句</c:if>
例子:
<!-- 流程控制 --> <% session.setAttribute("msg", "71"); %> <c:if test="${msg>60}">及格</c:if> |
4.<c:choose>、<c:when> <c:otherwise>
实例:
<% session.setAttribute("msg", "95"); %> <c:choose> <c:when test="${msg==80}">80</c:when> <c:when test="${msg>80}">良好</c:when> <c:when test="${msg<80}">合格</c:when> <c:otherwise>haha</c:otherwise> </c:choose> |
5.<c:forEach>循环控制标签
例子1,使用ArrayList,引包java.util.*
<!-- 循环控制标签ArrayList例子 --> <% ArrayList al=new ArrayList(); al.add("学生1"); al.add("学生2"); al.add("学生3"); session.setAttribute("students", al); %> <c:forEach var="student" items="${students}"> ${student } </c:forEach> |
例子2,使用HashMap, 引包java.util.*
<!-- hashMap例子 --> <% HashMap hm=new HashMap(); hm.put("name", "rose"); hm.put("age","10"); session.setAttribute("hm", hm); %> <c:forEach var="stu" items="${hm}"> ${stu.key},${stu.value}<br> </c:forEach> |
6.<c:forTokens>
<!-- 字符串由delims分隔 --> <% session.setAttribute("msg2", "您好#我是***#我很喜欢天津"); %> <c:forTokens items="${msg2}" delims="#" var="msg"> ${msg}</br> </c:forTokens> |