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. nodejs 之简单web服务器

    1.service.js var http=require('http');//引入http模块 var fs=require('fs');//fs模块 var path=require('path' ...

  2. consumeQueue 和 indexFile 文件

    broker 把消息写入 commitLog 后,还需要把消息的索引写入 consumeQueue 文件 和 indexFile 文件 // org.apache.rocketmq.store.Def ...

  3. SparseLDA算法

    2 SparseLDA算法 本章将介绍一种Gibbs Sampling算法的加速算法——SparseLDA [9],它主要利用LDA 模型的稀疏性,来达到加速以及节省内存的目的,是一种精确算法(没有近 ...

  4. java:LeakFilling (Mybatis)

    1.实体类属性与数据库中字段名字不一样时,或者起别名时: TbOrderMapper.xml配置文件中,配置resultMap标签: 其它相同的标签也需要配,否则查询不出来对应数据. 2.一对一关联: ...

  5. Salesforce学习之路-developer篇(五)一文读懂Aura原理及实战案例分析

    1. 什么是Lightning Component框架? Lightning Component框架是一个UI框架,用于为移动和台式设备开发Web应用程序.这是一个单页面Web应用框架,用于为Ligh ...

  6. 【react】input输入框可输入的最好实现方式

    使用的是refs.react中输入框不能直接定义value.输入框是可变的,react会提示报错.需要使用的inChange事件(输入框内容被改变时触发). 要定义输入框初始值,需要在componen ...

  7. mysql——单表查询——分组查询——示例

    一.基本查询语句 select的基本语法格式如下: select 属性列表 from 表名和视图列表 [ where 条件表达式1 ] [ group by 属性名1 [ having 条件表达式2 ...

  8. 交换机安全学习笔记 第二章 MAC地址泛洪攻击

    本文为书中相关知识的摘要,由于书中以思科设备为配置依据,所以笔记中补充了华为.H3C设备的相关配置.华为设备配置参考华为S2352EI 产品版本:V100R005C01文档版本:02.  H3C配置参 ...

  9. 项目中使用vue的API。 和项目的结构

    <template> <!--组件的 结构--> <div id="app"> <h3>{{ msg }}</h3> & ...

  10. React进阶篇学习

    继续上一次基础篇, 分享一些关于React的进阶技术 React 进阶部分 ** context ** ** setState vs forceUpdate ** ** Mixins ** ** HO ...