JSTL标签详解(4大常用标签与代码示例)

JSTL标签详解(4大常用标签与代码示例)-mikechen

什么是JSTL?

JSP Standard Tag Library,简称JSTL,JSP标准标签库,提供了一系列的标签供开发者在JSP页面中使用,编写各种动态功能。

 

JSTL常用标签?

JSTL一共包含四大标签库:

1.core:核心标签库

核心标签库主要分为如下:

  • 表达式标签:out标签、set标签、remove标签、catch标签;
  • 流程标签:if标签、choose标签、when标签、otherwise标签;
  • 循环标签:forEach标签、forTokens标签;
  • URL标签:import标签、url标签、redirect标签。

详细的作用描述如下:

JSTL标签详解(4大常用标签与代码示例)-mikechen

 

2.fmt:格式化标签库

引用格式化标签库:

  1. <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>

JSTL标签详解(4大常用标签与代码示例)-mikechen

 

3.sql:数据库标签库

JSTL SQL 标签提供了许多操作数据库(MySQL、Oracle、SQL Server 等)的标签。

导入 SQL 标签库的语法如下:

  1. <%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql" %>

JSTL标签详解(4大常用标签与代码示例)-mikechen

 

4.xml:xml标签库

不需要学习了,它过时了。

JSTL标签详解(4大常用标签与代码示例)-mikechen

 

JSTL使用示例

  1. <%@page import="java.util.List"%>
  2. <%@page import="java.util.ArrayList"%>
  3. <%@ page language="java" contentType="text/html; charset=utf-8"%>
  4. <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
  5.  
  6. <<jsp:useBean id="person" class="com.ftc.test.Person"></jsp:useBean>
  7.  
  8.  
  9. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  10. <html>
  11. <head>
  12. <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
  13. <title>Insert title here</title>
  14. </head>
  15. <body>
  16. <h2>this is index.jsp!</h1>
  17. <hr>
  18.  
  19.  
  20. <%
  21. String username = "ftc";
  22. request.setAttribute("username", username);
  23. %>
  24.  
  25.  
  26. <c:out value="this is our JSTL firstDemo"></c:out>
  27. <hr>
  28.  
  29.  
  30. <input type="text" value="username" id="username" name="username" />
  31. <input type="submit" value="submit" id="submit" name="submit" />
  32.  
  33.  
  34. <c:out value="${username}">
  35. </c:out>
  36. <br>
  37. <c:out value="${1+2}"></c:out>
  38. <c:out value="${empty username}"></c:out>
  39. <br>
  40.  
  41.  
  42. <c:out value="${name }" default="error"></c:out>
  43. <br>
  44.  
  45.  
  46. <!-- 存值到scope (存储一个value的常量到var这么变量中,作用于为scope) -->
  47. <c:set value="today" var="day" scope="session"></c:set>
  48. <c:out value="${day }"></c:out>
  49. <br>
  50.  
  51.  
  52. <c:set var="age" scope="application">eleven</c:set>
  53. <c:out value="${age}"></c:out>
  54.  
  55.  
  56. <c:set target="${person}" property="name" value="zhangsan"></c:set>
  57. <c:out value="${person.name}"></c:out>
  58.  
  59.  
  60.  
  61.  
  62. <!-- remove 标签的用法 -->
  63. <c:set var="firstname" value="vlay"></c:set>
  64. <c:out value="${firstname }"></c:out>
  65. <c:set var="lastname" value="wang"></c:set>
  66. <c:remove var="lastname" />
  67. <c:out value="${lastname }"></c:out>
  68. <hr>
  69.  
  70.  
  71. <!-- catch标签的用法 -->
  72. <c:catch var="error">
  73. <c:set target="aa" property="bb">asas</c:set>
  74. </c:catch>
  75. <c:out value="${error}"></c:out>
  76.  
  77.  
  78. <!-- if标签的用法 -->
  79. <form action="index.jsp" method="post">
  80. <input type="text" name="score" value="${param.score}" /> <input
  81. type="submit" />
  82. </form>
  83.  
  84.  
  85. <c:if test="${param.score>=90}" var="result" scope="application">
  86. <c:out value="你的成绩是优秀"></c:out>
  87. <br>
  88. </c:if>
  89. <c:out value="${applicationScope.result}"></c:out>
  90. <hr>
  91.  
  92.  
  93. <!-- choose when otherwise标签的使用 -->
  94. <c:choose>
  95. <c:when test="${param.score>=90 && param.score<=100}">
  96. <c:out value="优秀"></c:out>
  97. </c:when>
  98. <c:when test="${param.score>=80 && param.score<90}">
  99. <c:out value="良"></c:out>
  100. </c:when>
  101. <c:when test="${param.score>=70 && param.score<80}">
  102. <c:out value="中等"></c:out>
  103. </c:when>
  104. <c:when test="${param.score>=60 && param.score<70}">
  105. <c:out value="及格"></c:out>
  106. </c:when>
  107. <c:when test="${param.score>=0 && param.score<60}">
  108. <c:out value="不及格"></c:out>
  109. </c:when>
  110. <c:otherwise>
  111. <c:out value="你的输入有误!"></c:out>
  112. </c:otherwise>
  113. </c:choose>
  114.  
  115.  
  116. <c:choose>
  117. <c:when test="${param.score==100}">
  118. <c:out value="你是满分"></c:out>
  119. </c:when>
  120. </c:choose>
  121. <br>
  122.  
  123.  
  124. <%
  125. List<String> fruits = new ArrayList<String>();
  126. fruits.add("苹果");
  127. fruits.add("橘子");
  128. fruits.add("香蕉");
  129. fruits.add("葡萄");
  130. fruits.add("梨子");
  131. request.setAttribute("fruits", fruits);
  132. %>
  133.  
  134.  
  135. <!-- foreach标签的使用 -->
  136. <c:forEach var="fruit" items="${fruits}">
  137. <c:out value="${fruit}"></c:out>
  138. <br>
  139. </c:forEach>
  140. <hr>
  141.  
  142.  
  143. <c:forEach var="fruit" items="${fruits}" begin="1" end="3">
  144. <c:out value="${fruit}"></c:out>
  145. <br>
  146. </c:forEach>
  147. <hr>
  148.  
  149.  
  150. <c:forEach var="fruit" items="${fruits}" step="2">
  151. <c:out value="${fruit}"></c:out>
  152. <br>
  153. </c:forEach>
  154. <hr>
  155.  
  156.  
  157. <c:forEach var="fruit" items="${fruits}" varStatus="fru">
  158. <c:out value="${fruit}的四个属性值"></c:out>
  159. <c:out value="index:${fru.index}"></c:out>
  160. <c:out value="count:${fru.count}"></c:out>
  161. <c:out value="first:${fru.first}"></c:out>
  162. <c:out value="last:${fru.last}"></c:out>
  163. <br>
  164. </c:forEach>
  165. <hr>
  166. </body>
  167. </html>

 

评论交流
    说说你的看法
欢迎您,新朋友,感谢参与互动!