jstl学习

一、什么是JSTL

JSTL(JSP Standard Tag Library,JSP标准标签库)是一个不断完善的开放源代码的JSP标签库,是由apache的jakarta小组来维护的。JSTL只能运行在支持JSP1.2和Servlet2.3规范的容器上,如tomcat4.x。在JSP2.0中也是作为标准支持的。

JSTL一共包含四大标签库

1,core:核心标签库,我们学习的重点;

2,fmt:格式化标签库,只需要学习两个标签即可;

3,sql:数据库标签库,不需要学习了,它过时了;

4,xml:xml标签库,不需要学习了,它过时了。

二.引入jstl

除了JSP动作标签外,使用其他第三方的标签库都需要:

  • 导包;
  • 在使用标签的JSP页面中使用taglib指令导入标签库;

下面是导入JSTL的core标签库:

<%@ taglib prefix="c"uri="http://java.sun.com/jstl/core" %>
  • prefix="c":指定标签库的前缀,这个前缀可以随便给值,但大家都会在使用core标签库时指定前缀为c;
  • uri="http://java.sun.com/jstl/core":指定标签库的uri,它不一定是真实存在的网址,但它可以让JSP找到标签库的描述文件;

三.核心标签

JSTL的核心标签库标签共13个,从功能上可以分为4类:表达式控制标签、流程控制标签、循环标签、URL操作标签。使用这些标签能够完成JSP页面的基本功能,减少编码工作。

(1)表达式控制标签:out标签、set标签、remove标签、catch标签。

(2)流程控制标签:if标签、choose标签、when标签、otherwise标签。

(3)循环标签:forEach标签、forTokens标签。

(4)URL操作标签:import标签、url标签、redirect标签。

在JSP页面引入核心标签库的代码为:

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

下面将按照功能分类,分别讲解每个标签的功能和使用方式。

表达式控制分类中包括<c:out>、<c:set>、<c:remove>、<c:chtch>4个标签,现在分别介绍它们的功能和语法。

1.<c:out>标签

【功能】:用来显示数据对象(字符串、表达式)的内容或结果。

在使用Java脚本输出时常使用的方式为:

<% out.println(“字符串”)%>

<%=表达式%>

在web开发中,为了避免暴露逻辑代码会尽量减少页面中的Java脚本,使用<c:out>标签就可以实现以上功能。

<c:out value=”字符串”>

<c:out value=”EL表达式”>

提示:JSTL的使用是和EL表达式分不开的,EL表达式虽然可以直接将结果返回给页面,但有时得到的结果为空,<c:out>有特定的结果处理功能,EL的单独使用会降低程序的易读性,建议把EL的结果输入放入<c:out>标签中。

<c:out>标签的使用有两种语法格式。

【语法1】:

<c:out value=”要显示的数据对象” [escapeXml=”true|false”] [default=”默认值”]>

【语法2】:

<c:out value=”要显示的数据对象” [escapeXml=”true|false”]>默认值

</c:out>

这两种方式没有本质的区别,只是格式上的差别。标签的属性介绍如下。

q        value:指定要输出的变量或表达式。

q        escapeXml:设定是否转换特殊字符(如&lt、&gt等一些转义字符),在默认值为true的情况下直接在输出&lt的,如果改为false将会进行转义输出“<”等。

q        default:为默认输出结果。如果使用表达式得到的结果为null(注意与空区别),将会输出默认结果。

【示例代码】:代码9.1演示了<c:out>的使用,以及在不同属性值状态下的结果。

代码9.1 <c:out>标签使用示例:coredemo01.jsp

1     <%@ page pageEncoding="gbk" %>

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

3     <html>

4     <head>

5              <title>out标签的使用</title>

6     </head>

7     <body>

8              <li>(1)<c:out value="北京源智天下科技有限公司"></c:out></li>

9              <li>(2)<c:out value="&lt未使用字符转义&gt" /></li>

10              <li>(3)<c:out value="&lt使用字符转义&gt" escapeXml="false"></c:out></li>

11              <li>(4)<c:out value="${null}">使用了默认值</c:out></li>

12              <li>(5)<c:out value="${null}"></c:out></li>

13     </body>

14     </html>

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值