`

JSTL与EL的基本介绍

阅读更多
介绍JSTL与EL就不能不介绍一下JSP的标准动作元素。
   JSP的标准动作元素:
   <jsp:useBean>使用javabean的元素
   <jsp:getProperty>从一个JavaBean组件取得一个性质值,并将其增加到响应中去
   <jsp:setProperty>设置一个JavaBean的属性值
   <jsp:include>在请求处理阶段包含来自一个Servlet或JSP页面的响应
   <jsp:forward>将某个请求的处理转发到一个Servlet或JSP页面
   <jsp:param>对使用<jsp:include>或<jsp:forward>传递到另一个Servlet或JSP页面的请求增加一个参数值
   <jsp:plugin>

   <jsp:attribute>基于此元素的体设置动作属性的值
   <jsp:body>基于此元素的体设置动作元素体。当动作元素包含<jsp:attribute>动作元素时,<jsp:body>则是必要的
   <jsp:element>动态生成一个XML元素,可以通过嵌套的<jsp:attribute>和<jsp:body>动作定义属性和体
   <jsp:text>用于封装需要原样使用的模板文本,通常 仅在编写为XML文档的JSP页面中需要。
JSTL 是JSP标准标记库(JSP Standard Tag Library,JSTL),EL是表达式语言(Expression Language,EL)。这是JSP的一部分,虽然有时与JSP的动作元素的功能相同,但每种元素的存在都有一定的用处,只是用的地方并不相同。
   EL语言的操作符:
   .   访问一个bean性质或Map项
   []   请问一个数组或List元素
   ()   括起一个子表达式,以改变计算顺序
   ?:   条件测试:condition ? ifTrue:ifFalse
   empty   空变量测试(null,空String,或者任何不含元素的数组,Map或Collection)
   func(arg)函数调用,在此func为函数名,arg是一个函数参数
   隐式EL变量
   PageScope:所有页面作用域变量的集合(java.util.Map)
   requestScope:所有请求作用域变量的集合(java.util.Map)
   sessionScope:
   applicationScope:
   Param:所有请求参数值的集合(java.util.Map),每个参数对应为一个String值。
   ParamValues:所有请求参数值的集合(java.util.Map),每个参数对应为一个String值。
   Header:所有请求首部值的集合(java.util.Map),每个参数对应为一个String值。
   HeaderValues:所有请求首部值的集合(java.util.Map),每个参数对应为一个String值。
   Cookie:所有请求Cookie值的集合(java.util.Map),每个cookie对应为一个javax.servlet.http.Cookie值
   InitParam:所有应用初始化参数值的集合(java.util.Map),每个参数对应为一个String值。
   PageContext:javax.servlet.jsp.PageContext类的一个实例,提供了对各种请求数据的访问。
  
   

    用JSP/JSTL/EL访问JAVABEAN

        在JSP页面中声明BEAN并获取BEAN存储的信息
    <jsp:useBean id="cartoon" scope="page" class="com.ora....CartoonBean">
    <img src="<jsp:getProperty name="cartoon" property="filename" />">
        要将JSP动作属性设置为由另一个动作所生成的值,必须使用以下<jsp:attribute>动作标准
    <jsp:setProperty name="msg" property="category">
        <jsp:attribute name="value" trim="true">
            <jsp:getProperty name="myBean" property="myProperty">
        </jsp:attribute>
    </jsp:setProperty>
        在JSP页面中使用EL表达式处理BEAN
    <img src="image/${cartoon.fileName}">
   
    设置BEAN性质
    可以使用下面两个动作来设置其值,分别为:<jsp;setProperty>或<c:set>
        使用<jsp:setProperty>动作
    <jsp:useBean id="msg" class=""></jsp:useBean>

    <jsp:setProperty name="msg" property="category" value="thoughts" />
    <jsp:setProperty name="msg" property="category" value="quotes" />
        使用<c:set>动作
    <c:set target="${msg}" property="category" value="thoughts" />

       

            JSP/JSTL/EL处理用户表单的输入与用户页面的输出
       
        使用JSTL动作访问参数值
    <input type="text" name="userName">
    <input type="checkbox" name="food" value="z">
    <input type="checkbox" name="food" value="b">
    <input type="checkbox" name="food" value="c">

    打印相关变量值:
    <c:out value="${param.userName}">
    <c:forEach items="${paramValues.food}" var="current">
        <c:out value="${current}" />
    </c:forEach>

    ----------------------------------------------------------
    JSTL <c:out>的属性
    value:必要。增加至响应的值。
    escapeXml:Boolean:可选,如果值中的特殊字符应当轮换为字符实体码,则为true,默认为true。
    Default:可选,value属性为null时所用的值,也可以由体定义。
    -----------------------------------------------------------
    JSTL <c:forEach>属性
    items:可选,如果指定,则完全循环,否则,就要指定begin和end。
    var:可选,保存当前元素值的变量的名
    varStatus:可选,保存一个LoopTagStatus对像的变量的名
    begin:可选,第一个索引(从0开始)
    end:可选,最后一个索引(从0开始)
    step:可选,每次迭代时的索引增量。
    -----------------------------------------------------------
    隐式变量pageContext的request性质,可以访问到的属性:
    authType:保护请求鉴别机制的名字
    characterEncoding:(String)请求体字符编码,如果未知则为null。
    contentLength:(int)请求体长度,如果未知则为-1。
    contentType:(String)请求体MIME类型
    contextPath:请求体的上下文路径
    cookies:(javax.servlet.http.Cookie[])由客户请求的cookie
    locale:(java.util.Locale)客户的首选本地化环境
    locales:(java.util.Enumeration)所有用户本地化环境的列表,按首选程度排序
    method:(String)请求方法
    protocol:协议名和版本
    remoteAddr:客户IP地址
    remoteHost:客户机的主机名,如果未知则显示ip地址
    remoteUser:如果页面受到保护,则用于发出请求的用户名,否则为null
    requestURI:请求URI,例如:/app/page.jsp
    requestURL:请求URL例如:http://server/app/page.jsp
    scheme:机制,如http或https
    servletPath:请求的上下文相对路径:例如/page.jsp
    servername:服务器名
    serverPort:端口
    secure:如果在一个安全通道上(ssl)建立请求,则为TRUE。
    userPrincipal:(java.security.Principal)如果页面得到保护,则为表示用户建立请求的Principal(主体),否则为null
----------------------------------------------------------------------------------------
        使用bean捕获参数值
    <jsp:useBean id="userinfo" class="">
        <jsp:setProperty name="userinfo" property="*" />
    </jsp:useBean>
---------------------------------------------------------------------------------------
分享到:
评论

相关推荐

    jstl与el表达式所需jar

    **EL(Expression Language)** 是一种轻量级的脚本语言,用于在JSP页面中获取和设置JavaBean属性,以及进行基本的算术和逻辑运算。EL表达式通常以`${}`包裹,它能够直接访问作用域中的对象,如request、session、...

    JSTL和EL之间的关系

    在探讨JSTL(JSP Standard Tag Library,JSP标准标签库)与EL(Expression Language,表达式语言)之间的关系前,我们首先需理解两者的基本概念及其在JSP(JavaServer Pages)开发中的角色。 #### EL表达式概览 EL...

    JSTL和EL帮助文档

    **JSTL(JavaServer Pages Standard Tag Library)与EL(Expression Language)是Java Web开发中的两个重要组件,它们极大地简化了JSP页面的编写和管理,使得代码更加清晰和易于维护。** **JSTL** 是一个标准的标签...

    JSTL和EL完美笔记

    `EL表达式.doc` 文件应该涵盖了EL的基本语法和常见用法,如访问属性、调用方法、三元运算符等。EL的引入使得JSP页面的数据绑定更加直观,提升了开发效率。 `JSTL字符串处理函数.htm` 文件可能详细介绍了JSTL提供的...

    JSTL&EL分页的例子

    EL(Expression Language)则是用于在JSP中简洁地访问JavaBean属性或执行基本操作的表达式语言。 在这个"JSTL&EL分页的例子"中,我们将探讨如何使用JSTL和EL来实现分页功能,这是一种在网页上显示大量数据时非常...

    JSTL,EL表达式语法简介

    JSTL的核心是与Java Expression Language(EL)紧密集成,EL则是一个用于在JSP页面中获取和操作数据的简洁表达式语言。 **EL(Expression Language)**是Java Servlet 2.4及更高版本中引入的一种轻量级脚本语言。它...

    JSTL_EL实例

    **JSTL(JavaServer Pages Standard Tag Library)与EL(Expression Language)** JSTL是Java社区的一个标准标签库,它提供了一系列的标签用于简化JavaServer Pages (JSP)的开发,使页面更加清晰,代码更加简洁。EL,...

    学生管理系统JSTL+EL.zip

    学习这个项目,初学者不仅可以掌握JSP、JSTL和EL的基础用法,还能了解到如何将它们整合到一个实际的Web应用中,理解MVC(Model-View-Controller)设计模式的基本原理。此外,还可以学习到如何处理数据库操作,如使用...

    JSTL以及EL表达式所需jar包

    在JSTL中,核心标签库(core library)提供了基本的控制结构,比如循环和条件语句;JSTL的函数库(function library)则提供了一系列有用的函数;I18N(国际化)和格式化标签库可以帮助处理多语言和数据格式化;而...

    JSTL & EL 学习笔记

    通过以上介绍,我们可以看到JSTL和EL在Java Web开发中的重要性。它们不仅简化了开发过程,提高了代码质量,还为开发者提供了更强大、更灵活的工具来构建动态网页。在实际开发中,熟练掌握JSTL和EL的应用将极大地提升...

    JSTL1.1及EL表达式中文参考手册

    3. **EL基本手册.pdf**:这个文档应该涵盖了EL的基本概念和操作,对深入理解EL非常有帮助。 总的来说,JSTL1.1和EL是JSP开发中的强大工具,通过阅读提供的资源,开发者可以进一步提升对这两者的理解和应用能力,...

    EL JSTl详解word文档

    EL在JSTL 1.1规范中得到了进一步发展,与JSP 2.0容器紧密集成,使得EL表达式可以直接在JSP页面的任何地方使用,而无需依赖JSTL标签。 **JSTL的标签库组件包括:** 1. **核心标签库 (Core Tags)**:提供了处理循环、...

    EL&JSTL表达式.rar_JSTL_el

    5. **jstl.core** - 包含基本的控制结构,如迭代和条件语句。 6. **xml** - 处理XML文档。 例如,`&lt;c:forEach&gt;`标签用于遍历集合,`&lt;c:if&gt;`用于条件判断,`&lt;fmt:formatDate&gt;`用于日期格式化。 **学习EL和JSTL的...

    JSTL--EL使用手册.pdf

    JSP标准标签库(JSTL)是一个广泛使用...通过使用JSTL标签和EL表达式,开发者能够将业务逻辑与页面表现分离,从而提高代码的可维护性和可读性。这些技术的应用对于实现动态网页和Web应用中的数据处理功能是至关重要的。

    JSTL和EL的学习

    **EL的介绍**: EL全称为Expression Language,它是JSP 2.0及更高版本中内置的语言,主要用于从请求、会话、应用等作用域中查找和处理数据。EL表达式通常以`$`符号开头,用`{}`包裹,例如 `${expression}`。EL并不...

    JSTL和EL表达式源码.rar

    **JSTL(JavaServer Pages Standard Tag Library)和EL(Expression Language)是...而EL则提供了便捷的数据绑定机制,简化了页面与模型之间的交互。通过学习和熟练掌握这两者,可以极大地提升开发效率并提高代码质量。

    总结EL和JSTL

    EL 表达式和 JSTL 的总结 EL 表达式是 Expression Language 的缩写,它是一种借鉴了 JavaScript 和 XPath 的表达式语言。EL 定义了一系列的隐含对象和操作符,使开发人员能够很方便地访问页面内容,以及不同作用域...

    EL与JSTL下载资料

    在"EL与JSTL下载资料"中,你可以找到关于这些知识点的详细讲解,包括概念介绍、实例演示、常见问题解答等,帮助你在Java Web开发中熟练掌握这两种技术,提升开发效率,编写出更清晰、更易于维护的代码。通过深入学习...

    jstl、el详解

    JSTL与EL(Expression Language)配合使用,能够更好地实现数据的表达和处理。 ### EL(Expressions Language) EL是一种轻量级的脚本语言,用于在JSP页面中获取和设置JavaBean或其他Java对象的属性。EL表达式通常以`$...

Global site tag (gtag.js) - Google Analytics