JSTL(JSP Standard Tag Library ,JSP标准标签库)是一个实现 Web应用程序中常见的通用功能的定制标记库集,这些功能包括迭代和条件判断、数据管理格式化、XML 操作以及数据库访问。

在JSP页面引入核心标签库的代码为:<%@ taglib prefix="c" uri="http://Java.sun.com/jsp/jstl/core" %>

下面简单介绍一下这些标签的用法:

1,表达式控制标签

<c:out>

用于在JSP中显示数据。

语法1:没有本体(body)内容
<c:out value="value" [escapeXml="{true|false}"] [default="defaultValue"] />

语法2:有本体内容
<c:out value="value" [escapeXml="{true|false}"]>
default value
</c:out>

<c:set>

用于保存数据。

语法1
将value的值储存至范围为scope的varName变量之中:
<c:set value="value" var="varName" [scope="{ page|request|session|application }"]/>

语法2
将本体内容的数据储存至范围为scope的varName变量之中:
<c:set var="varName" [scope="{ page|request|session|application }"]>
… 本体内容
</c:set>

语法3
将value的值储存至target对象的属性中:
c:set value="value" target="target" property="propertyName" />

语法4
将本体内容的数据储存至target对象的属性中:
<c:set target="target" property="propertyName">
… 本体内容
</c:set>

<c:remove>

用于删除数据。

语法:
<c:remove var="varName" [scope="{ page|request|session|application }"] />

<c:chtch>

2,流程控制标签

<c:if>

用途跟其他语言中的if类似。

语法1
:没有本体内容(body)
<c:if test="testCondition" var="varName" [scope="{page|request|session|application}"]/>
varName值为testCondition执行结果(布尔值)。

语法2
:有本体内容
<c:if test="testCondition" [var="varName"] [scope="{page|request|session|application}"]>
本体内容</c:if>
如果表达式的结果为true,则执行本体内容,false则相反

<c:choose>、<c:when>、<c:otherwise>

这3个标签通常情况下是一起使用的,<c:choose>标签作为<c:when>和<c:otherwise>标签的父标签来使用。

语法1:
<c:choose>
         <c:when>
         表达式
         <c:otherwise>
         表达式
         <c:otherwise>
         表达式
</c:choose>

语法2:
<c:when text=”条件”>
表达式
</c:when>

语法3:
<c:otherwise>
表达式
</c:otherwise>

补充:

(1)语法1为3个标签的嵌套使用方式,<c:choose>标签只能和<c:when>标签共同使用。
(2)语法2为<c:when>标签的使用方式,该标签都条件进行判断,一般情况下和<c:choose>共同使用。
(3)<c:otherwise>不含有参数,只能跟<c:when>共同使用,并且在嵌套中只允许出现一次。

3,循环标签

<c:forEach>

跟其他语言中的forEach类似。

语法:迭代一集合对象之所有成员
<c:forEach [var="varName"] items="collection" [varStatus="varStatusName"]
[begin="begin"] [end="end"] [step="step"]>
</c:forEach>

<c:forTokens>

用于浏览字符串,并根据指定的字符将字符串截取。

语法:
<c:forTokens items=”strigOfTokens” delims=””delimiters [var=”name” begin=”begin” end=”end” step=”len” varStatus=”statusName”] >

4,URL操作标签

<c:import>

该标签可以把其他静态或动态文件包含到本JSP页面。同<jsp:include>的区别为:只能包含同一个web应用中的文件。而<c:import>可以包含其他web应用中的文件,甚至是网络上的资源。

语法1:
<c:import url=”url” [context=”context”][ value=”value”][scope=”page|request|session|application”] [charEncoding=”encoding”]>

语法2:
<c:import url=”url” varReader=”name” [context=”context”][charEncoding=”encoding”]><c:redirect>

<c:url>

该标签用于动态生成一个String类型的URL,可以同<c:redirect>标签共同使用,也可以使用html的<a>标签实现超链接。

语法1:指定一个url不做修改,可以选择把该url存储在JSP不同的范围中。
<c:url value=”value” [var=”name”][scope=”page|request|session|application”][context=”context”]/>

语法2:给url加上指定参数及参数值,可以选择以name存储该url。
<c:url value=”value” [var=”name”][scope=”page|request|session|application”][context=”context”]>
<c:param name=”参数名” value=”值”>
</c:url>

上面说了那么多,那么为什么要用JSTL呢?它有什么优点呢?其优点如下:
1、 简化了JSP和WEB应用程序的开发。
2、 便于维护。
3、 减少甚至避免了JSP中的scriptlet代码。
4、 易于前台人员掌握,使前后台分工明确,提高团队开发效率。

有人说JSTL已经过时了,其实每种语言都有它的优点,没有啥过时不过时的,就看适合不适合了。具体选择什么就看公司要求和项目的实际情况了。

转载于:https://www.cnblogs.com/kuangwong/p/6393533.html

JSTL标签之核心标签相关推荐

  1. (forEach url out set catch 等)javaweb中JSTL的Core 核心标签库知识点

    JSTL 标签库的基本知识复习 导读{ 1]什么是 JSTL 标签库 ? [2]如何在我们的项目中使用JSTL ? [3]介绍Core 核心标签库 [3.1]URL标签 作用:  可以在JSP页面中构 ...

  2. C标签的核心标签及语法格式

    JSTL 核心标签库标签共有13个,功能上分为4类: 1.表达式控制标签:out.set.remove.catch 2.流程控制标签:if.choose.when.otherwise 3.循环标签:f ...

  3. 早起的鸟儿有虫吃-JSTL核心标签库[收藏]

    介绍 JSTL 全名为Java Server Pages Standard Tag Library(JSP Standard Tag Library),它的中文名称为JSP 标准标签函数库. Web  ...

  4. ⑤早起的鸟儿有虫吃-JSTL核心标签库[收藏]

    介绍 JSTL 全名为Java Server Pages Standard Tag Library(JSP Standard Tag Library),它的中文名称为JSP 标准标签函数库. Web  ...

  5. JSTL核心标签超详细详解(学习笔记,一文看懂)

    JSTL 一.认识JSTL表达式 1.什么是JSTL JSTL是Java server pages standarded tag library的缩写,即java标准标签库 JSTL百度百科 JSTL ...

  6. java jstl标签库_JSTL标签库

    1.什么是JSTL? JSTL全称为 JSP Standard Tag Library 即JSP标准标签库.它与EL表达式一样,也是为了替换掉JSP中的java代码.它提供了一系列的JSP标签,实现了 ...

  7. 9. JSP - 核心标签库

    JSTL核心标签库简介 JSTL中的核心标签库主要用于完成基本的逻辑运算,在开发中使用较多. 在开发前导入相关jar包之后,还需要在页面中通过 taglib 指令将标签库导入: <%@tagli ...

  8. 18、EL表达式、JSP标签、JSTL标签、自定义标签

    EL表达式 jsp的核心语法: jsp表达式 <%=%>和 jsp脚本<% %>. 以后开发jsp的原则: 尽量在jsp页面中少写甚至不写java代码. 使用EL表达式替换掉j ...

  9. jstl核心标签使用

    JSTL 核心标签库标签共有13个,功能上分为4类: 1.表达式控制标签:out.set.remove.catch 2.流程控制标签:if.choose.when.otherwise 3.循环标签:f ...

最新文章

  1. ubuntu环境ceph配置入门(一)
  2. 有没有好用的目标管理、项目管理和绩效管理工具?
  3. 大二暑假周进度报告(三)
  4. java时间间隔的判断
  5. 贯穿 C++ 11 与 C++ 17 的 Lambda 到底是个什么?
  6. 8-14 领导者选举
  7. hive,skynet以及go语言
  8. 什么是python基础教程-python基础教程之python是什么?概念解析
  9. 2018 最强“弱密码”排行榜新鲜出炉,123456 再登首
  10. 文字处理技术:与布局相关的功能
  11. 凸包算法与JAVA求解的基本思路
  12. SUST_2018 焦作站亚洲区域赛校内选拔赛题解
  13. 大学毕业生找不到工作的原因何在?
  14. unity之二维数组实现正六边形地图
  15. 考研计算机300分什么水平,工科类考研300分什么概念?算不算高?
  16. layui 单图片上传 多图片批量上传
  17. 动态组件_插槽_自定义指令
  18. linux中ll -lht,02-Linux命令(上)
  19. java微信支付v3系列——4.创建订单的封装及使用
  20. 流辰信息微服务平台:数字化转型的优良工具!

热门文章

  1. Android Studio的技巧
  2. [转]FINDSTR正则表达式小结
  3. vi查找替换命令详解
  4. 用MATLAB作图像识别所需要注意的细节!
  5. word设置不同页脚
  6. 5 加盐_工业软水处理器定期加盐的标准
  7. C++ vector的内部实现原理及基本用法
  8. 为什么要使用 Service Mesh?
  9. iOS 录音转MP3格式
  10. 在Linux上安装Python 3