`

JSTL(Jsp Standard Tag Library) 与 EL表达式(Expression Language)

阅读更多
JSTL(Jsp Standard Tag Library)

JSTL 本身是一个标签库,由sun公司发布,apache jakarta组织负责维护,开源标准技术。

有两个版本:Standard-1.0 Taglib 和 Standard-1.1 Taglib

Standard-1.0 Taglib(JSTL1.0) ——支持Servlet2.3 和JSP1.2规范, Tomcat4.1以上支持

Standard-1.1 Taglib(JSTL1.1) ——支持Servlet2.4 和JSP2.0规范, Tomcat5.0以上支持

JSTL只能运行在支持JSP1.2和Servlet2.3规范的容器上,如tomcat 4.x。在JSP 2.0中也是作为标准支持的。


如果要使用JSTL,则必须将jstl.jar和 standard.jar文件放到classpath中,如果你还需要使用XML processing及Database access (SQL)标签,还要将相关JAR文件放到classpath中,这些JAR文件全部存在于下载回来的zip文件中。这个zip文件可以从http://jakarta.apache.org/builds/jakarta-taglibs/releases/standard/jakarta-taglibs-standard-1.0.zip下载。



EL表达式(Expression Language)

EL在JSTL1.0中补引入,作为java表达式来工作,配合JSTL标签库。

在JSTL1.1中,Servlet2.4 或JSP2.0容器(Tomcat5以上)已经能够独立理解任何EL表达式。EL可以出现在JSP页面的任何角落。

web.xml中必须配为web-app_2_4.dtd, 否则,el表达式不能用。

<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
http://java.sun.com/dtd/web-app_2_4.dtd>





=============================

JSTL与普通taglib的区别在于sun为其定义了一个专门的规范,由servletContainer的实现者实现这个规范,因此不需要在web.xml中另外定义,当然如果你要使用非默认的uri则需要在web.xml中定义了





==================================

EL表达式与JSTL版本问题:org.apache.jasper.JasperException
文章分类:Java编程

今天给学生讲JSTL核心库里的<c:out>标签,做演示时无任何问题,但学生在练习时<c:out value="abc" default="123"/>可以正常显示,在使用<c:out value="${name}">使用EL表达式取request值时报下面的异常: ­

org.apache.jasper.JasperException: /jsp/pages/MyJsp.jsp(4,0) According to TLD or attribute directive in tag file, attribute end does not accept any expressions... ­

­

后经研究发现这是JSTL版本的问题 :­

jstl的1.0的版本有两个tld,以core为例,core.tld和core_rt.tld,后者支持表达式,jstl 1.1的core.tld就都支持了 ­

­

在使用JSTL1.1时发现上面错误. 必须将第一行换成: ­

<%@ taglib prefix="c" http://java.sun.com/jstl/core_rt" %> ­



才正确.­

===============================

jsp的版本

JSP的1.0规范的最后版本是1999年9月推出的,

12月又推出了1.1规范。

目前较新的是JSP1.2规范,

JSP2.0规范的征求意见稿也已出台。

JSP 2.0介绍
  新的JSP规范版本包括新的用于提升程序员工作效率功能,主要有:



  An Expression Language (EL)



  允许开发者创建 Velocity-样式 templates (among other things).更快更简单的创建新标签的方法。



  Hello, ${param.visitor} <%-- same as: Hello, <%=request.getParameter("visitor")%> --%>



  MVC 模式



  为了把表现层presentation从请求处理request processing 和数据存储data storage中分离开来,SUN公司推荐在JSP文件中使用一种“模型-视图-控制器”Model-view-controller 模式。规范的SERVLET或者分离的JSP文件用于处理请求。当请求处理完后,控制权交给一个只作为创建输出作用的JSP页。有几种平台都基于服务于网络层的模-视图-控件 模式(比如Struts 和Spring framework)。



================================

Servlet/JSP Spec__Apache Tomcat version
2.5/2.1----------------6.0.14
2.4/2.0----------------5.5.25
2.3/1.2----------------4.1.36
2.2/1.1----------------3.3.2

Servlet/JSP版本对应可以对其进行解析的TOMCAT的版本






================================

web.xml 中的web-app_2_3.dtd是什么意思?——答:对应servelt的版本

<!--
这是一个Servlet 2.3 配置描述器的XML DTD。所有的Servlet 2.3 配置描述器(deployment
descriptor) 必须包含一个如下形式的DOCTYPE:
<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">

-->

原文链接:http://hi.baidu.com/fytcm/blog/item/86311c381d4a0c2896ddd83e.html
分享到:
评论

相关推荐

    JSTL,EL表达式语法简介

    **JSTL(JavaServer Pages Standard Tag Library)**是Java服务器端的一个标准标签库,它提供了一组用于处理常见任务的JSP标签,如迭代、条件判断、XML处理等,极大地简化了JSP页面的编写。JSTL的核心是与Java ...

    JSP的JSTL标签和EL表达式大全

    为了解决这个问题,JSTL(JavaServer Pages Standard Tag Library)和EL(Expression Language)应运而生。 **1. JSTL简介** JSTL是Java Community Process(JCP)制定的一套标准标签库,它提供了用于处理常见任务...

    JSTL以及EL表达式所需jar包

    为了增强JSP页面的功能性和简化代码,我们通常会使用两种技术:EL(Expression Language)表达式和JSTL(JavaServer Pages Standard Tag Library)标签库。这两个工具都是Java EE生态系统的一部分,极大地提高了开发...

    JAVAEE实验报告EL表达式和jstl标签库的使用.pdf

    JSTL 标签库(JavaServer Pages Standard Tag Library)是一种在 JSP 页面中使用的标签库,用于简化 JSP 页面的开发。JSTL 标签库提供了一些常用的标签,例如 foreach、if、choose 等,可以用于循环输出数据、条件...

    jsp页面中EL表达式被当成字符串处理不显示值问题的解决方法

    JSTL(JavaServer Pages Standard Tag Library)提供了一套核心标签库,增加了流程控制和循环控制功能,通过自定义函数等增强功能,基本上可以替代原有的scriptlet编程方式,使JSP页面的格式更加统一和规整。...

    JSTL自定义EL表达式

    在Java Web开发中,JSTL(JavaServer Pages Standard Tag Library)是一个标准的标签库,它提供了一系列的标签来简化JSP页面中的编程工作。EL(Expression Language)是JSP 2.0引入的一种轻量级的脚本语言,用于在...

    el表达式EL表达式言语和JSTL

    **JSTL(JavaServer Pages Standard Tag Library)** JSTL是一套用于JSP的标签库,提供了许多预定义的标签,用于处理常见的任务,如迭代、条件语句、XML处理、国际化等。JSTL的目标是减少JSP页面上的Java代码,使...

    JSTL与EL表达式

    JSTL(JSP Standard Tag Library ,JSP标准标签库)是一个不断完善的开放源代码的JSP标签库,E L(Expression Language) 目的:为了使JSP写起来更加简单。

    jstl与el表达式所需jar

    在Java Web开发中,JSTL(JavaServer Pages Standard Tag Library)和EL(Expression Language)是两个非常重要的组件,它们极大地简化了页面逻辑的编写,提高了代码的可读性和维护性。下面将详细介绍这两个概念以及...

    JSP应用开发-EL表达式与JSTL标签.pptx

    EL表达式(Expression Language)是一种用于JSP页面中的语言,主要用于替换JSP页面中的脚本表达式,从JSP隐式对象中提取java对象、获取数据。EL表达式的语法结构是:“${变量或表达式}”,它可以执行一些基本的关系...

    EL表达式言语和JSTL

    **JSTL(JavaServer Pages Standard Tag Library)** JSTL是一套标准的JSP标签库,与EL配合使用,可以进一步提升JSP页面的可维护性和可读性。JSTL包含多个标签库,如Core、XML、JDBC等,用于处理常见的任务,如循环...

    jsp el表达式详解

    JavaServer Pages Standard Tag Library (JSTL)常常与EL一起使用,提供更强大的标签库功能。例如,`c:forEach`标签可以配合EL遍历集合, `${item}` 在循环中代表当前项。 **6. EL的隐式对象** JSP EL预定义了一些...

    在jsp中使用JSTL跟El表达式访问和遍历Map集合

    在JavaServer Pages (JSP)开发中,JSTL(JavaServer Pages Standard Tag Library)和EL(Expression Language)是两种非常重要的技术,用于简化页面逻辑和增强可读性。本篇将详细介绍如何在JSP中利用JSTL与EL表达式...

    EL表达式练习 EL表达式练习

    EL表达式可以与JavaServer Pages Standard Tag Library (JSTL) 结合使用,增强其功能。例如,`${expression}"&gt;` 用于安全地输出EL表达式的结果,防止跨站脚本攻击(XSS)。 **EL表达式的高级特性** 1. **隐式对象**...

    JSP中的EL和JSTL表达式

    在JavaServer Pages (JSP) 开发中,EL(Expression Language)和JSTL(JavaServer Pages Standard Tag Library)是两个非常重要的工具,它们极大地简化了页面逻辑,提高了代码的可读性和维护性。下面将详细介绍这两...

    JSTL与El表达式源代码

    **JSTL(JavaServer Pages Standard Tag Library)**是Java服务器端的一个标准标签库,它提供了一系列的标签来简化JSP页面的开发,使得开发者能够更专注于业务逻辑而不是页面的呈现。JSTL的核心部分包括了核心标签、...

    EL表达式&JSTL;标签库_jar包

    EL表达式(Expression Language)与JSTL(JavaServer Pages Standard Tag Library)是JSP Web开发中的重要组成部分,它们极大地提升了代码的可读性和维护性。在这个名为"EL表达式&JSTL;标签库_jar包"的压缩包中,...

    EL表达式语言 非常详细

    为了解决这些问题,JSTL (JSP Standard Tag Library) 应运而生。JSTL是一种广泛使用的标准标签库,它可以简化JSP页面的开发过程,并确保代码的统一性和可移植性。 JSTL的发布版本主要有两个:Standard-1.0Taglib 和...

    el表达式+JSTL.rar

    在现代Web开发中,EL(Expression Language)表达式和JSTL(JavaServer Pages Standard Tag Library)是两个非常重要的技术,它们大大简化了Java Web应用的视图层开发。EL表达式提供了一种简洁的方式来访问和操作...

Global site tag (gtag.js) - Google Analytics