`

JSTL小结

阅读更多
网上有很多内容讲解,这里只是提一些这次用的的小点,重点关于EL的内容。

EL的几个内置变量[1]
1.默认变量pageScope、requestScope、sessionScope、applicationScope
      这4个默认变量包含Scope作用范围的参数集合,相当于被保存在java.util.Map中的某个参数。下面看简单的示例9.2:
例9.2:使用sessionScope变量的EL表达式
<%request.getSession().setAttribute("sampleValue", new Integer(10));%>
${sessionScope.sampleValue}
取得保存在Session中参数的sessionScope变量的EL表达式,“.”是property访问操作符,在这里表示从Session中取得“键”为“sampleValue”的参数,并显示出来。显示结果为“10”。
例如,${requestScope.status}便可获得servlet中通过request.setAttribute()的属性
2.默认变量param、paramValues
      这两个默认变量包含请求参数的集合,param表明请求包含的参数为单一控件,paramValues表明请求包含的参数为控件数组。下面看一个简单示例9.3:
例9.3:提交请求的页面和接受的页面
<%@ page contentType="text/html; charset=UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<body>
     <form action="SampleJsp.jsp">
    <input type="text" name="sampleValue" value="10">
    <input type="text" name="sampleValue" value="11">
    <input type="text" name="sampleValue" value="12">
    <input type="text" name="sampleSingleValue" value="SingleValue">
    <input type="submit" value="Submit">
    </form>
</body>
</html>
      在这个页面中定义了两组控件,控件名为“sampleValue”的是一套控件数组,控件名为“sampleSingleValue”的是单一控件,通过递交将请求参数传送到SampleJsp.jsp。
<%@ page contentType="text/html; charset=UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<body>
    ${paramValues.sampleValue[2]}
    ${param.sampleSingleValue}
</body>
</html>
      这是请求转发到的页面,通过EL表达式的paramValues变量得到控件数组中最后一个控件的递交参数,通过EL表达式的param变量得到单一控件的递交参数。控件数组参数的EL表达式使用“[]”来指定数组下标。本示例将显示控件数组中最后一个控件的值“12”和单一控件的值“SingleValue”。
3.默认变量header、headerValues
      这两个默认变量包含请求参数头部信息的集合,header变量表示单一头部信息,headerValues则表示数组型的头部信息。
4.默认变量cookie
      包含所有请求的cookie集合,集合中的每个对象对应javax.servlet.http.Cookie。
比如,这次项目中使用到${cookie.TL_CN.value}从cookie获取登录的用户名
5.默认变量initParam
      包含所有应用程序初始化参数的集合。
6.默认变量pageContext
      等价于page环境类javax.servlet.jsp.PageContext的实例,用来提供访问不同的请求参数。
11个默认变量几乎包含了Web应用的所有基本操作,若一个表达式不使用这些变量而直接使用参数名,那么就采用就近原则。该表达式将使用最近取得的参数值。

三个必须区别的运算符[2]
The [  ] Operator:
The restriction with the EL dot ( . ) operator is that it works only when the value on its right side is either a bean property or a map key for the value on the left. The [ ] operator on the other hand provides much flexibility as by using it we can have a List or an Array in addition to Map and Bean on the left side. So thing on the right or rather inside the [ ] operator can be - A key to some Map, a bean property or an index into some array or list that is on the left side of the operator.
Example : Using [ ] operator
Let we set an array as an attribute in a servlet as -
.......... String [ ] bigFive  = {"U.S.A", "Russia", "France", "China","U.K"};
   request.setAtribute{"bigFive", bigFive};
Now in a JSP having access to scope, we can write - First one is ${bigFive[0]} and that will print U.S.A
() - Used to change the precedence of operators.

[1]很全面,EL表达式和标签库介绍,几乎每个知识点都有例子,文本模式
http://www.javawind.net/help/html/jstl_el.htm
[2]重点对EL失效情况、EL运算符讲解,条理清晰
http://www.roseindia.net/jstl/jstl-el.shtml
[3]官方网站,大牛必读,貌似很卡
http://jstl.java.net/
分享到:
评论

相关推荐

    jstl标签使用的总结心得

    JSTL,全称JavaServer Pages Standard Tag Library,是一个用于JSP页面的开源标签库,由Apache Jakarta项目维护。它旨在提高JSP开发的效率,通过提供一系列预定义的标签来简化常见任务,如控制流、迭代、XML处理、...

    java_web_第7章_JSTL.ppt

    10.1 JSP标准标签库 10.2 核心标签库 10.3 其他JSTL标签库 10.4 使用标签文件 10.5 小 结

    标准标签库(JSTL)的常见使用(

    #### 小结 通过上述介绍可以看出,JSTL为JSP开发者提供了强大的功能,可以极大地简化页面逻辑的编写工作。通过使用这些标签,可以实现更为清晰、简洁的代码结构,同时也有助于提高程序的可读性和可维护性。在实际...

    jstl标签库文档

    ### 小结 本文详细介绍了JSTL中的几种常用标签库及其主要标签的功能与用法。通过这些标签的合理运用,可以极大地提高JSP页面的可读性和可维护性,同时也能有效地减少JSP页面中的Java脚本代码量,让开发者能够更加...

    从Java走向Java+EE+.rar

    1.5 小结 13 第2章 使用Jakarta Commons来简化开发 14 2.1 Jakarta Commons的功能和用法 14 2.2 小结 18 第3章 Java EE容器 19 3.1 什么是容器 19 3.2 Tomcat的安装和使用 20 3.3 小结 25 第4章 在...

    关于struts的部分小结

    你需要确保在项目的类路径下包含了JSTL的jar文件,或者在Maven/Gradle等构建工具中添加对应的依赖。 6. **Struts工作流程**: - 用户发送请求到达Servlet容器。 - 请求被Struts2 Filter截获。 - Filter根据`...

    Java Web入门经典第九章源代码

    第9章 页面控制利器——JSTL标签库 186 ?视频讲解:85分钟9.1 JSTL标签库简介 186 9.2 JSTL的下载与配置 187 9.2.1 下载JSTL标签库 188 9.2.2 配置JSTL 188 9.3 表达式标签 ...211 9.8 小结 213 9.9 习题 213

    Struts2知识点小结-非常实用

    视图部分则通过丰富的标签库呈现用户界面,这些标签使用OGNL(Object Graph Navigation Language)表达式作为基础,不仅支持OGNL,还兼容JSTL, Groovy和Velocity等表达式。Struts2的标签库定义在URI为 `/struts-tags...

    看看动态页面技术小结jsp

    对 JSP 的 简单总结 ,看到这个就可以 回忆起 你学习的jsp 的经历 ...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part2

    1.11 小结 36 第2章 xml名称空间 38 2.1 声明名称空间 38 2.2 名称空间在元素和属性中的运用 39 2.2.1 名称空间在元素中的运用 39 2.2.2 默认名称空间 41 2.2.3 名称空间在属性中的运用 42 2.3 名称空间和dtd...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part5

    1.11 小结 36 第2章 xml名称空间 38 2.1 声明名称空间 38 2.2 名称空间在元素和属性中的运用 39 2.2.1 名称空间在元素中的运用 39 2.2.2 默认名称空间 41 2.2.3 名称空间在属性中的运用 42 2.3 名称空间和dtd...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part4

    1.11 小结 36 第2章 xml名称空间 38 2.1 声明名称空间 38 2.2 名称空间在元素和属性中的运用 39 2.2.1 名称空间在元素中的运用 39 2.2.2 默认名称空间 41 2.2.3 名称空间在属性中的运用 42 2.3 名称空间和dtd...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part3

    1.11 小结 36 第2章 xml名称空间 38 2.1 声明名称空间 38 2.2 名称空间在元素和属性中的运用 39 2.2.1 名称空间在元素中的运用 39 2.2.2 默认名称空间 41 2.2.3 名称空间在属性中的运用 42 2.3 名称空间和dtd...

    Struts2 in action中文版

    第一部分 Strut 2:一个全新的框架 第1章 Struts 2:现代Web框架 2 1.1 Web应用程序:快速学习 2 1.1.1 构建Web应用程序 2 1.1.2 基础技术简介 3 1.1.3 深入研究 6 1.2 Web应用程序框架 7 ...15.7 小结 332

    java程序调试错误收集

    **小结:** 确保开发环境(如IDE)中的JDK版本与项目实际使用的版本保持一致是避免此类问题的关键。 --- #### 2. JSP标签库配置问题 **异常表现:** 当出现类似 `org.apache.jasper.JasperException: The ...

    Spring.3.x企业应用开发实战(完整版).part2

    1.8 小结 第2章 快速入门 2.1 实例功能概述 2.1.1 比Hello World更适用的实例 2.1.2 实例功能简介 2.2 环境准备 2.2.1 创建库表 2.2.2 建立工程 2.2.3 类包及Spring配置文件规划 2.3 持久层 2.3.1 建立领域对象 ...

    Spring3.x企业应用开发实战(完整版) part1

    1.8 小结 第2章 快速入门 2.1 实例功能概述 2.1.1 比Hello World更适用的实例 2.1.2 实例功能简介 2.2 环境准备 2.2.1 创建库表 2.2.2 建立工程 2.2.3 类包及Spring配置文件规划 2.3 持久层 2.3.1 建立领域对象 ...

    FDSFDSFDSFDSJSTL

    ### 小结 通过上述介绍,我们可以了解到EL 和 JSTL 在JSP页面开发中的重要作用。EL 使得开发者能够更加简洁地访问各种作用域内的对象,而 JSTL 标签库则提供了一系列功能强大的标签,大大提高了页面开发的效率和可...

    sales-order-system:Spring Web MVC + JPA + Hibernate + JSP + JSTL应用程序

    这是一个非常小的全栈Web应用程序,仅用作示例,仅用于演示目的。 发展 本地运行 结帐代码 git clone https://github.com/colinbut/sales-order-system.git 进行本地构建 mvn clean package ...将编译源代码,打包...

Global site tag (gtag.js) - Google Analytics