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

1.环境搭建

下载jar包  http://archive.apache.org/dist/jakarta/taglibs/standard/binaries/ ,jstl包括两个jar包,standard.jar和jstl.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

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

[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>  

JSTL标签(转载)的更多相关文章

  1. 【转载】JSTL 标签大全详解

    版权声明:本文为博主原创文章,转载请注明出处,冷血之心的博客. https://blog.csdn.net/qq_25827845/article/details/53311722 (尊重劳动成果,转 ...

  2. JSTL标签出错:<c:forEach var="book" items="${requestScope.books}" varStatus="status">

    今天在运行书里的JSTL标签代码的时候出错,总结一下: 问题1.The JSP specification requires that an attribute name is preceded by ...

  3. JSTL标签库的基本教程之核心标签库(二)

    JSTL标签库的基本教程之核心标签库(二) 核心标签库 标签 描述 <c:out> 用于在JSP中显示数据,就像<%= ... > <c:set> 用于保存数据 & ...

  4. JSTL 标签大全详解

    (尊重劳动成果,转载请注明出处:http://blog.csdn.net/qq_25827845/article/details/53311722  冷血之心的博客) 一.JSTL标签介绍 1.什么是 ...

  5. web开发(七) JSTL标签库

    在网上看见一篇不错的文章,写的详细. 以下内容引用那篇博文.转载于<http://www.cnblogs.com/whgk/p/6432786.html>,在此仅供学习参考之用. 一.为什 ...

  6. JSTL标签 参考手册

    前言 ========================================================================= JSTL标签库,是日常开发经常使用的,也是众多 ...

  7. JSTL标签库

    JSP页面作为内嵌java的Html简化了Servlet在控制页面显示的语法,但JSP脚本中的表达式功能不够强大,语法也稍显繁杂,EL(Expression Language)表达式语言的出现能够大大 ...

  8. 重温JSP学习笔记--JSTL标签库

    以前写jsp的时候对jstl标签库是有些抵触的,因为我觉得嵌入java代码的方式几乎无往不利,没有必要使用标签库,不过这次复习还是好好地学习了一下,发现这个还是很有用处的,用得好能省不少事,JSTL是 ...

  9. 简单实用JSTL标签库

    1. JSTL标签库是一个什么东东? 简单来说,有了它你就可以在类似HTML的JSP页面里面运用一些高级语法,实现迭代.条件判断.XML文档操作.国际化标签.SQL标签. 2. 如何使用 ? 参考网址 ...

随机推荐

  1. 阶段3 2.Spring_04.Spring的常用注解_3 用于创建的Component注解

    @Component spring容器是一个Map结构,是由于key 和vlaue组成的 运行测试 无法运行 出错的原因↓ 第一部是解析配置文件.但是配置文件这里是空的.我们的bean里面什么对象都没 ...

  2. 慕课网_细说多线程之Thread VS Runnable

    第1章 课前准备 1-1 前言 (00:49) 第2章 Thread VS Runnable 2-1 回顾线程创建的两种方式 (02:33) 继承Thread类 class MyThread exte ...

  3. oracle 在sql中显示blob的字符串

    最近在用oracle的过程中用到了对blob字段模糊查询的问题,对oracle来说,我并不是高手,找了很多的资料终于能够查出来了. blob字段直接用 select * from table_name ...

  4. HCL试验2

    PC端配置:配置ip地址 交换机1配置:①创建VLAN system-view vlan 10 vlan 20 ②配置PC端接口 interface gi 1/0/1 port link-type a ...

  5. tensorflow 2.0 技巧 | 自定义tf.keras.Model的坑

    自定义tf.keras.Model需要注意的点 model.save() subclass Model 是不能直接save的,save成.h5,但是能够save_weights,或者save_form ...

  6. Prometheus Querying Function rate() vs irate()

    rate() rate(v range-vector) calculates the per-second average rate of increase of the time series in ...

  7. Mybatis--<![CDATA[ sql 语句 ]]>

    在mapper文件中写sql语句时,遇到特殊字符时,如:< 等,建议使用<![CDATA[ sql 语句 ]]>标记,将sql语句包裹住,不被解析器解析   在使用mybatis 时 ...

  8. PMP项目正常估算时间

    最佳时间段+正常时间段*+最差时间段)/=正常估算时间. 项目经理小李对某活动工期进行估算时,发现人员的熟练程度和设备供应是否及时对工期至关重要.如果形成最有利组合时,预计17天可以完成:如果形成最不 ...

  9. java遇到的笔试题

    一.基础题(CSS经常遇到的面试题) 1.在Jquery中,想让一个元素隐藏,用什么实现,显示隐藏的元素用什么实现? 答:show()方法可以使一个元素显示:hide()隐藏可见的元素:[slideD ...

  10. 干货 | 深入分析 string.intern() 方法

    首先我们来看一段代码: public class InternTest {      public static void main(String[] args) {     String str1 ...