JSTL标签(转载)

 JSTL标签是一个实现web功能的定制标签库,包括输出功能,条件判断,循环等,使用JSTL标签,为动态编写WEB应用程序提供了很大的方便性,能很好的和Java语言和HTML进行结合。下面我们看看jstl标签的用法

1.环境搭建

    下载jar  http://archive.apache.org/dist/jakarta/taglibs/standard/binaries/ ,jstl包括两个jar包,standard.jarjstl.jar包,把这两个JAR包添加到项目中,这样JSTL必须的环境就搭建好了

2. EL表达式

    使用EL表达式,我们可以动态的在页面中输出变量,EL表达式的使用 ${变量}

      

[html] view plain copy

  1. <!-- EL表达式用法 -->  
  2. <%session.setAttribute("skuname", "白色运动鞋"); %>  
  3. ${skuname}  
  4. ${3+5}  

3. out标签

     out标签是JSTL中使用最多,最常用的标签。在使用JSTL标签的时候,要在页面中引入组件,添加如下标签

[html] view plain copy

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

     

[html] view plain copy

  1. <%session.setAttribute("skuname", "白色运动鞋"); %>  
  2. ${skuname}  
  3. ${3+5}  
  4. <c:out value="${skuname}"></c:out>  
  5. <c:out value="商品名称"></c:out>  

4. set标签

   通过SET标签,可以动态定义变量,并赋值,还可以为javabean对象赋值

   

[html] view plain copy

  1. <!-- set标签用法 -->  
  2. <c:set value="0002" var="skucode" scope="session"> </c:set>  
  3. <c:out value="${skucode}"></c:out>  
  4.     
  5. <c:set  var="skuname" scope="session">太阳镜 </c:set>  
  6. <c:out value="${skuname}"></c:out>  

    JAVABEAN对象赋值,在页面中引入JAVA对象

   

[html] view plain copy

  1. <jsp:useBean id="category" class="dto.Category"></jsp:useBean>  

[html] view plain copy

  1. <Br/>  
  2. <!-- JAVA对象赋值 -->  
  3. <c:set target="${category}" property="name" value="太阳镜"></c:set>  
  4. <c:out value="${category.name}"></c:out>  
  5.     
  6. <c:set target="${category}" property="catcode" value="00008"></c:set>  
  7. <c:out value="${category.catcode}"></c:out>  

 target表示对象

property表示对象属性

value表示对象值

5.Remove标签 

    Remove是一个删除标签,可以删除页面中定义的变量,

    

[html] view plain copy

  1. <c:set value="50" var="num" scope="session"> </c:set>  
  2. <c:out value="${num}"></c:out>  

6.Catch标签

  catch主要用来捕捉异常。
 

[html] view plain copy

  1. <c:catch var="result">  
  2. <c:set target="${ss}" property="name" value="太阳镜"></c:set>  
  3. </c:catch>  
  4. <c:out value="${result}"></c:out>  
  5. <Br/>  

 

7.IF标签

   if标签主要用来条件判断。

    

[html] view plain copy

  1. <c:if test="${count>5}" var="info">  
  2.  <c:out value="数量大于5"></c:out>  
  3. </c:if>  
  4.  <c:out value="${info}"></c:out>  
  5.  <c:out value="${count}"></c:out>  
  6.  <Br/>  

8.choose

    chooseIF标签一样,也用来做条件判断,可以根据指定的条件进行不同的跳转

    

[html] view plain copy

  1. <!-- choose标签 -->  
  2. <c:choose>  
  3.     <c:when test="${count>5}">  
  4.     <c:out value="优秀"></c:out>  
  5.     </c:when>  
  6.      <c:when test="${count<0}">  
  7.     <c:out value=""></c:out>  
  8.     </c:when>  
  9.     <c:otherwise>  
  10.        <c:out value="一般" ></c:out>  
  11.     </c:otherwise>  
  12. </c:choose>  

 

9. foreach标签

   foreach标签主要用来循环

    

[html] view plain copy

  1. <Br>  
  2.  <!-- foreach标签 -->  
  3.      
  4.  <Br>  
  5.      
  6.  <%  
  7.  List<String> list=new ArrayList<String>();  
  8.  list.add("优秀");  
  9.  list.add("一般");  
  10.  list.add("");  
  11.  request.setAttribute("list", list);  
  12.  %>  
  13.      
  14.  <c:forEach var="item" items="${list}" >  
  15.   <c:out value="${item}" ></c:out>  
  16.  </c:forEach>  

 

10.forToken

      forToken主要用来分隔字符串

     

[html] view plain copy

  1. <!-- forToken标签 -->  
  2.  <c:forTokens items="1,2,3" delims="," var="item">  
  3.  <c:out value="${item}" ></c:out>  
  4.  </c:forTokens>  

11.其他标签

    

[objc] view plain copy

  1. <!-- import标签 -->  
  2.  <c:import url="http://www.jd.com/"></c:import>  
  3.      
  4.  <!-- redirect标签 -->  
  5.  <c:redirect url="http://www.jd.com/">  
  6.      
  7.  </c:redirect>  
  8.      
  9.   <!-- url标签 -->  
  10.       
  11.   <c:url value="http://www.jd.com/"  var="link">  
  12.         
  13.   </c:url>  
  14.    <A href="${link}">链接地址</A>  

 

全部代码如下

[java] view plain copy

  1. package dto;  
  2.     
  3. public class Category {  
  4.     
  5.     private String catcode;  
  6.         
  7.     public String getCatcode() {  
  8.         return catcode;  
  9.     }  
  10.     
  11.     public void setCatcode(String catcode) {  
  12.         this.catcode = catcode;  
  13.     }  
  14.     
  15.     private String name;  
  16.         
  17.     
  18.     public String getName() {  
  19.         return name;  
  20.     }  
  21.     
  22.     public void setName(String name) {  
  23.         this.name = name;  
  24.     }  
  25.     
  26.     
  27. }  

[html] view plain copy

  1. <%@page import="java.util.ArrayList"%>  
  2. <%@page import="java.util.List"%>  
  3. <%@ page language="java" contentType="text/html; charset=UTF-8"  
  4.     pageEncoding="UTF-8"%>  
  5.     
  6.  <%@taglib  uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>     
  7.     
  8. <jsp:useBean id="category" class="dto.Category"></jsp:useBean>  
  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.     
  17. <!-- EL表达式用法 -->  
  18. <%session.setAttribute("skuname", "白色运动鞋"); %>  
  19. ${skuname}  
  20. ${3+5}  
  21. <c:out value="${skuname}"></c:out>  
  22. <c:out value="商品名称"></c:out>  
  23. <Br/>  
  24. <!-- set标签用法 -->  
  25. <c:set value="0002" var="skucode" scope="session"> </c:set>  
  26. <c:out value="${skucode}"></c:out>  
  27.     
  28. <c:set  var="skuname" scope="session">太阳镜 </c:set>  
  29. <c:out value="${skuname}"></c:out>  
  30.     
  31. <Br/>  
  32. <!-- JAVA对象赋值 -->  
  33. <c:set target="${category}" property="name" value="太阳镜"></c:set>  
  34. <c:out value="${category.name}"></c:out>  
  35.     
  36. <c:set target="${category}" property="catcode" value="00008"></c:set>  
  37. <c:out value="${category.catcode}"></c:out>  
  38.     
  39.     
  40. <Br/>  
  41.     
  42. <!-- Remove标签 -->  
  43.     
  44. <c:set value="50" var="num" scope="session"> </c:set>  
  45. <c:out value="${num}"></c:out>  
  46.     
  47. <Br/>  
  48. <!-- catch标签 -->  
  49. <c:catch var="result">  
  50. <c:set target="${ss}" property="name" value="太阳镜"></c:set>  
  51. </c:catch>  
  52. <c:out value="${result}"></c:out>  
  53. <Br/>  
  54.     
  55. <!-- if标签 -->  
  56. <%int count=10; request.setAttribute("count",count);%>  
  57.     
  58. <c:if test="${count>5}" var="info">  
  59.  <c:out value="数量大于5"></c:out>  
  60. </c:if>  
  61.  <c:out value="${info}"></c:out>  
  62.  <c:out value="${count}"></c:out>  
  63.  <Br/>  
  64.      
  65.  <!-- choose标签 -->  
  66.  <c:choose>  
  67.      <c:when test="${count>5}">  
  68.      <c:out value="优秀"></c:out>  
  69.      </c:when>  
  70.       <c:when test="${count<0}">  
  71.      <c:out value=""></c:out>  
  72.      </c:when>  
  73.      <c:otherwise>  
  74.         <c:out value="一般" ></c:out>  
  75.      </c:otherwise>  
  76.  </c:choose>  
  77.      
  78.  <Br>  
  79.  <!-- foreach标签 -->  
  80.      
  81.  <Br>  
  82.      
  83.  <%  
  84.  List<String> list=new ArrayList<String>();  
  85.  list.add("优秀");  
  86.  list.add("一般");  
  87.  list.add("");  
  88.  request.setAttribute("list", list);  
  89.  %>  
  90.      
  91.  <c:forEach var="item" items="${list}" >  
  92.   <c:out value="${item}" ></c:out>  
  93.  </c:forEach>  
  94.      
  95.  <Br>  
  96.  <!-- forToken标签 -->  
  97.   <c:forTokens items="1,2,3" delims="," var="item">  
  98.   <c:out value="${item}" ></c:out>  
  99.   </c:forTokens>  
  100.      
  101.  <!-- import标签 -->  
  102.  <c:import url="http://www.jd.com/"></c:import>  
  103.      
  104.  <!-- redirect标签 -->  
  105.  <c:redirect url="http://www.jd.com/">  
  106.      
  107.  </c:redirect>  
  108.      
  109.   <!-- url标签 -->  
  110.       
  111.   <c:url value="http://www.jd.com/"  var="link">  
  112.         
  113.   </c:url>  
  114.    <A href="${link}">链接地址</A>  
  115.      
  116. </body>  
  117. </html>  
原文地址:https://www.cnblogs.com/xiaolang8762400/p/7007858.html