JSTL
JSTL
1 概念:JavaServer Pages Tag Library JSP标准标签库
是由Apache组织提供的开源的免费的jsp标签
2 作用:用于简化和替换jsp页面上的java代码
3 使用步骤:
1 导入jstl相关jar包
2 引入标签库:taglib指令:<%@ taglib %>
3 使用标签
4 常用的JSTL标签:
1 if :相当于java代码的if语句
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <%@ page import="java.util.ArrayList" %> <%@ page import="java.util.List" %> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>if标签</title> </head> <body> <!-- c:if标签 1 属性: test 必须属性,接收boolean表达式 如果表达式为true,则显示if标签体内容,如果为false,则不显示 一般情况下,test属性值会结合el表达式一起使用 2 注意:c:if标签没有else情况,想要else情况要重写一份 --> <c:if test="true"> 我是刀客塔 </c:if> <% //判断request域中的一个list集合是否为空,如果不为null则显示遍历集合 List<String> list=new ArrayList<String>(); list.add("aaaa"); request.setAttribute("list",list); request.setAttribute("number",3); %> <c:if test="${not empty list}"> 遍历集合 </c:if> <c:if test="${number%2!=0}"> ${number}为奇数 </c:if> </body> </html>
2 choose :相当于java代码的switch语句
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page import="java.util.ArrayList" %> <%@ page import="java.util.List" %> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>JSTL_choose</title> </head> <body> <!-- 完成数字编号对应星期几案例 1 域中存储一个数字 2 使用choose标签取出数字 相当于switch声明 3 使用when标签做数字判断 相当于case 4 otherwise标签做其他情况的声明 相当于default --> <% request.setAttribute("number",3); %> <c:choose> <c:when test="${number==1}">星期一</c:when> <c:when test="${number==2}">星期二</c:when> <c:when test="${number==3}">星期三</c:when> <c:when test="${number==4}">星期四</c:when> <c:when test="${number==5}">星期五</c:when> <c:when test="${number==6}">星期六</c:when> <c:when test="${number==7}">星期日</c:when> <c:otherwise>数字输入有误</c:otherwise> </c:choose> </body> </html>
3 forEach :相当于java代码的for语句
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page import="java.util.ArrayList" %> <%@ page import="java.util.List" %> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>forEach</title> </head> <body> <!-- forEach:相当于java代码的for语句 1 完成重复的操作 属性: begin:开始值 end: 结束值 var: 临时变量 step:步长 varStatus:循环状态对象 index:容器中元素的索引,从0开始 count:循环次数,从1开始 2 遍历容器 属性: items:容器对象 var:容器中元素的临时变量 varStatus:循环状态对象 index:容器中元素的索引,从0开始 count:循环次数,从1开始 --> <c:forEach begin="1" end="10" var="i" step="2" varStatus="s"> ${i} <h3>${s.index}</h3> <h4>${s.count}</h4><br> </c:forEach> <hr> <% List list=new ArrayList(); list.add("aaa"); list.add("bbb"); list.add("ccc"); request.setAttribute("list",list); %> <c:forEach items="${list}" var="str" varStatus="s"> ${s.index} ${s.count} ${str}<br> </c:forEach> </body> </html>

浙公网安备 33010602011771号