第九节、JSTL标签库

JSTL标签概述

分类:
core标签库(核心标签库),包括有通用标签(输出标签)、流控制标签和循环控制标签等。
fmt标签库,格式化、国际化标签库。
fn标签库,函数标签库。
XML标签库,关于XML操作的标签库。
SQL标签库,操作数据库的标签库。

JSTL的core标签库

<c:set>标签用于在某个范围中设定某个值,这个范围可以是request、page、session、application。
<c:set value=“表达式” var=“varname”[scope=“request|page|session|application”]>

<c:out>标签用于把表达式的结果输出到页面中,escapeXML默认值是true,将特殊字符转换:<转换成&lt,>转换为&gt。
<c:out value="表达式“[escapeXML=“true|false”]>

<c:if>标签用于条件判断,var参数是条件的执行结果(true/false)。
<c:if test=“判断条件” [var=“varname”][scope=“request|page|session|application”]>

<c:choose/>、<c:when/>、<c:otherwise/>标签。当<c:when/>判断为假时,才会执行<c:otherwise/>标签。
<c:choose>
----<c:when test=”表达式”>
---------表达式为真时执行的语句
----</c:when>
----[<c:otherwise> 表达式为假时执行的语句]
</c:choose>

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE HTML >
<html>
  <head>
    <title>&lt;c:forEach&gt;标签使用例子</title>
  </head>
  
  <body>
      <%
           List<String> nameLists = new ArrayList<String>();
           nameLists.add("Toms");
           nameLists.add("Smith");
           nameLists.add("John");
           nameLists.add("Anna");
           nameLists.add("James");
           nameLists.add("Roses");
           nameLists.add("Bruce");
           request.setAttribute("nameLists",nameLists);
       %>
      <div style="text-align: center;">
                             输出集合中的内容:<hr/>
           <c:forEach items="${nameLists}" var="name" varStatus="currentStatus">
		                 当前元素为:<c:out value="${name}"/>&nbsp;&nbsp;
		                 当前元素索引号为:<c:out value="${currentStatus.index}"/>&nbsp;&nbsp;
		                 当前迭代数为:<c:out value="${currentStatus.count}"/>&nbsp;&nbsp;
              <c:if test="${currentStatus.first}">第一次循环操作</c:if>
              <c:if test="${currentStatus.last}">最后一次循环操作</c:if>
                 <hr/>
           </c:forEach>
      </div>
  </body>
</html>

在这里插入图片描述

<c:forTokens>标签用于对字符串进行分隔,类似Java中split方法。
<c:forTokens items=“字符串” delims=“分隔符” [var=“别名”][varStatus=”varstatusName”] [begin=”开始”] [end=”结束”] [step=”步长”]>
----java代码,HTML代码等
</c:forTokens>

<c:remove var=“varname”[scope=“request|page|session|application”]>

<c:catch>类似于Java中try…catch
在这里插入图片描述

<c:import>标签的作用是把当前JSP页面之外的静态和动态文件导入进来,甚至可以是其他网站的文件。而 < < <jsp:include > > >只能导入当前JSP页面在同一Web应用下的文件。
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

JSTL的fmt标签

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

JSTL的fn标签库

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

JSTL的SQL标签库

<%@ page import="java.io.*,java.util.*,java.sql.*" pageEncoding="UTF-8"%>
<%@ page import="javax.servlet.http.*,javax.servlet.*" %>
<%@ page import="java.util.Date,java.text.*" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql"%>
<%@taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<html>
<head>
   <title>sql标签综合示例</title>
</head>
<body>
<!-- 设置数据源-->
<sql:setDataSource var="test" driver="com.mysql.jdbc.Driver"
     url="jdbc:mysql://localhost:3306/TEST"
     user="root"  password="root"/>
<!-- 将用户的年龄增加2岁 -->
<sql:update dataSource="${test}"   var="updatecount">    
   update users set user_age=user_age+?
   <c:set value="2" var="count"/>
   <sql:param value="${count}"/>
</sql:update>
<!-- 给id为1的用户设置日期 -->
<%
Date nowdate = new Date();
int userId = 1;
%>
<sql:update dataSource="${test}"   var="updatecount2">    
   UPDATE users SET createtime = ? WHERE Id = ?
   <sql:dateParam value="<%=nowdate%>" type="timestamp" />
   <sql:param value="<%=userId%>" />
</sql:update>
<!-- 查询数据-->
<sql:query dataSource="${test}" var="result" 
   sql="SELECT * from users;" >
</sql:query>
<!--显示数据  -->
<table border="1" width="100%">
<tr>
   <td colspan="7" align="center">
       共查询${result.rowCount}条用户记录
   </td>
</tr>
<tr>
   <th>用户ID</th>
   <th>用户姓名</th>
   <th>用户性别</th>
   <th>用户年龄</th>
   <th>联系电话</th>
   <th>出身地</th>
   <th>创建日期</th>
</tr>
<c:forEach var="user" items="${result.rows}">
<tr>
   <td><c:out value="${user.id}"/></td>
   <td><c:out value="${user.user_name}"/></td>
   <td><c:out value="${user.user_sex}"/></td>
   <td><c:out value="${user.user_age}"/></td>
   <td><c:out value="${user.user_phone}"/></td>
   <td><c:out value="${user.user_address}"/></td>
   <td><fmt:formatDate type="both" value="${user.createtime}" var="formatUsertime"/>
       <c:out value="${formatUsertime}"></c:out></td>
</tr>
</c:forEach>
</table>
<%-- <sql:transaction dataSource="" isolation="">
 
 </sql:transaction>--%>
</body>
</html>

在这里插入图片描述
在这里插入图片描述

JSTL的XML标签库

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_42148307/article/details/120361391