JSTL标签之核心标签

 

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

目前也有不少人在用JSTL,今天我们就一起学习一下JSTL的核心标签。

在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已经过时了,其实每种语言都有它的优点,没有啥过时不过时的,就看适合不适合了。具体选择什么就看公司要求和项目的实际情况了。

JSTL(JSP Standard Tag Library ,JSP标准标签库)的更多相关文章

  1. JSTL的全称:JSP Standard Tag Library, jsp 标准标签库

    JSTL的全称:JSP Standard Tag Library, jsp 标准标签库 JSTL的作用     提供给Java web开发人员一个标准通过的标签函数库和EL来取代传统直接在页面上嵌入j ...

  2. JSP Standard Tag Library JSP标准标签库

    了解了基本的标签的底层实现,可以看系统定义的强大的标准标签 1.首先引入两个jar包 2.基本语法 <%@ taglib prefix="c" uri="http: ...

  3. 自定义标签 与 JSTL(JSP Standard Tag Library)

    1.自定义标签 [理解]     [1]简介            > 在JSP2.0以后,在jsp页面中不建议使用脚本片段<% %>和JSP表达式<%= %>     ...

  4. JSP 标准标签库(JSTL)(JSP Standard Tag Library)

    [1] JSTL简介    > JSTL是JSP的标准标签库    > JSTL为我们提供了一些常用的标签,供我们日常开发使用(if . if...else .遍历 . 日期格式化)   ...

  5. javaEE(7)_自定义标签&JSTL标签(JSP Standard Tag Library)

    一.自定义标签简介 1.自定义标签主要用于移除Jsp页面中的java代码,jsp禁止出现一行java脚本. 2.使用自定义标签移除jsp页面中的java代码,只需要完成以下两个步骤: •编写一个实现T ...

  6. EL(Expression Language)和JSTL标签(JSP Standard Tag Library)

    一.EL表达式: Expression Language提供了在 JSP 脚本编制元素范围外(例如:脚本标签)使用运行时表达式的功能.脚本编制元素是指页面中能够用于在JSP 文件中嵌入 Java代码的 ...

  7. JSTL(JSP Standard Tag Library)读书笔记

    分类                                       Preifx                                          范例 核心标签库--- ...

  8. EL表达式,JSTL:jsp standard Tag Library

    1.EL表达式的作用: 1.1访问Bean的属性.  方式一:${对象名 . 属性名} eg:${user.name}    方式二:${对象名["属性名"]} 1.2输出简单的运 ...

  9. 标准标签库JSTL(JSP Standard Tag Library)

    1, 核心标签(最常用, 最重要的) 表达式控制标签 out 输出常量 value---直接赋值 输出变量 default---默认值 escapeXml---控制转义字符(默认为true, 如果需要 ...

随机推荐

  1. Android底层音频声道耳机插头和开关壳体的发展

    Android潜在的发展耳机插头连接到音频频道切换的例子 因为使用的是耳机 麦克分离式的耳机,所以要分别上报事件.在Android系统层耳机插孔的检測是基于/sys/class/switch/h2w/ ...

  2. App根据第,HTML5流行?

    App根据第.HTML5流行? 引用新闻 日前,有消息称国家网信办近日将出台APP应用程序发展管理办法.中央网信办主任鲁炜在推进网络空间法治化座谈会上透露.我国将加强互联网立法,依靠严密的法律网来打造 ...

  3. win7 wifi 无Internet訪问权限或者有限的訪问权限

    自己家的无线路由器,手机和笔记本都使用正常,可是一台新笔记本连上之后总是提示"有限的訪问权限",无法连公网. 网上的非常多办法都无论用,什么设置静态IP或者重新启动路由,基本都是瞎 ...

  4. php soap调用asp.net webservice

    原文:php soap调用asp.net webservice 首先做一下准备工作,找到安装环境里的php.ini把;extension=php_soap.dll去掉前面的;.我这里使用的是wamp, ...

  5. HTML5----input-datalist输入框自己主动提示功能

    效果图: <label for="word_name">字母 : </label> <input id="word_name" n ...

  6. STM32W芯片的JTAG口用于GPIO

    使用过程中发现STM32W芯片在驱动液晶SPI液晶时,在调试状态下可以正常工作但在通常运行情况下却没有任何显示! 经查发现我使用的两个端口PC0和PC3的电平很不正常,拉不高. 所以我就怀疑到IO口问 ...

  7. 使用 Visual C# .NET 生成 Office COM 外接程序

    Microsoft Office XP 和 Microsoft Office 2003 都支持一种新的统一的设计结构,这种结构用于生成应用程序外接程序以增强和控制 Office 应用程序.这些外接程序 ...

  8. C#压缩字符串

    在论坛上看到一个压缩字符串的问题,特此记录以备后用! static string GetStringR(string inputStr) { return Regex.Replace(inputStr ...

  9. ASP.NET MVC IOC 之Ninject攻略

    ASP.NET MVC IOC 之Ninject攻略 一.为什么要使用Ninject? 很多其它类型的IOC容器过于依赖配置文件,老是配置,总感觉有点不爽,而且要使用assembly-qualifie ...

  10. CentOS 6.5玩转自制Linux、远程登录及Nginx安装测试

    前言    系统定制在前面的博文中我们就有谈到过了,不过那个裁减制作有简单了点,只是能让系统跑起来而,没有太多的功能,也没的用户登录入口,而这里我们将详细 和深入的来谈谈Linux系统的详细定制过程和 ...