一、el + jstl 入门
1. EL 全名为Expression
Language。它是一种数据访问语言
el 表达式
2. EL 能实现如下功能:
1) 使用变量访问web域中存储的对象 ${user }
从page, request, session, application
2) 访问javabean的属性 ${user.address.city } usr为javabean对象存于域中
3) 执行基本的逻辑运算, 如大于小于的比较
4) 直接使用隐式对象, 有11个隐式对象
5) 调用 el 函数, 可以自定义函数
3. el 表达式用在哪里
1) 在 jsp 页面直接输出数据
2) 在标签中使用el直接为属性赋值
4. el 表达式获取数据
在jsp页面使用el表达式可以轻松地获得web域中的对象
并对 javabean 、 数组、 list 、 map 进行取值
5. 需要对 web 域中的 list
和map 集合进行迭代就需要结合 jstl 迭代标签
JSTL是sun公司开发的一套标签库
使用JSTL可以在页面中实现一些简单的逻辑,从而替换页面中的脚本代码
在页面中使用JSTL标签需完成以下2个步骤:
1)
导入jstl.jar和standard.jar这两个JSTL的jar文件。
2) 在JSP页面中使用<%@
taglib url=“” prifix=“” %>元素导入标签库。
最常用的 jstl 标签为 forEach
和 if 标签
<c:foreach var=””
items=””>
<c:if test=””>
6. el表达式可以进行逻辑运算
7. el表达式中的保留关键字
重点: el 取值 从四个域中取
取出javabean的属性
取出容器的内容 数组
list map
jstl标签
导入jar包
在jsp页面通过taglib指令导入标签库
forEach迭代标签 if条件判断
二、 el 中的11 个隐式对象
隐含对象名称 描 述
pageContext 对应于JSP页面中的pageContext对象
pageScope
代表page域中用于保存属性的Map对象[page对象中有一个保存属性(通常由getAttribute函数获得)的 map 成员变量 ]
requestScope 代表request域中用于保存属性的Map对象
sessionScope 代表session域中用于保存属性的Map对象
applicationScope 代表application域中用于保存属性的Map对象
param 表示一个保存了所有请求参数的Map对象
paramValues
表示一个保存了所有请求参数的Map对象,它对于某个请求参数,返回的是一个string[]
header 表示一个保存了所有http请求头字段的Map对象
headerValues 同上,返回string[]数组。注意:如果头里面有“-”
,例Accept-Encoding,则要headerValues[“Accept-Encoding”]
cookie 表示一个保存了所有cookie的Map对象
initParam 表示一个保存了所有web应用初始化参数的map对象
隐式对象的具体用途
1. pageContext
获得servlet上下文路径 (web应用名)
2.
pageScope、requestScope、sessionScope、applicationScope
准确地获得四个域中的对象
3. param、paramValues
获得请求参数,一般用于做表单的回显
4.
header、headerValues
获得请求参数
5. cookie
获得浏览器发送的cookie
6. initParam
获得web 初始化参数
三、 el 函数
1.
我们可以开发自定义函数,用于调用java类的方法
案例: 对页面输出的内容进行 html 转义
实现步骤:
1) 编写一个java类, 定义一个静态方法
去tomcat的例子中拷贝一个现成的
%tomcat安装目录%\webapps\examples\WEB-INF\classes
2) 编写标签库描述符(tld)文件,在tld文件中描述自定义函数
找个现成的修改一下
%tomcat安装目录%\webapps\examples\WEB-INF\jsp2
3) 在jsp页面中导入标签库 即可使用函数
<%@ taglib prefix="myfn"
uri="/WEB-INF/myfn.tld" %>
<%@ taglib
prefix="myfn" uri="http://www.itcast.cn/myfn"
%>
帖子的内容 : ${myfn:transfer(requestScope.data) }
2. sun
公司针对常用的字符串处理在jstl技术中提供了el函数中
==============el表达式==============
数据访问语言
用于取数据
从四个域取对象
取javabean的属性
取容器的元素 arr list map
11个隐式对象
pageContext、param、paramValues、header、headerValues
pageScope、requestScope、sessionScope、applicationScope
cookie、initParam
el自定义函数
1) 写一个java类,定义一个静态方法
2) 在 WEB-INF目录下写 tld文件
3) 在jsp页面引入tld标签库 直接使用
-------el的应用------
1, el表达式生成正确的链接
<form
action="${pageContext.request.contextPath }/servlet/Servlet1"
project->properties->web
project settings
修改 Context root
之后链接依然正确
2,
requestScope等于request的所有属性, getAttributes()可以遍历出
requestScope中所有内容
-----------------------------------
============
jstl标签==================
导入两个jar包 Jstl.jar Standard.jar
在jsp页面要声明引入标签库
<%@ taglib prefix="c"
uri="http://java.sun.com/jsp/jstl/core"
%>
forEach 迭代标签
if 条件判断
----------------------
el表达式:
request.setAttribute("name","xx");
${name}会去4个域对象中查找page,request,session,applicaion
如果找不到显示 ""
空串
${usr.usrname}
调用usr.getusrname()
el表达式是一种表现层的技术
集合与数组都: ${list[3]}
map : ${map.key}
map :
${map["1"]}
----------------------------------
jstl简单逻辑:
jstl.jar
standard.jar
<%@ taglib
prefix="c" uri="http://java.sun.com/jsp/jstl/core"
%>
迭代items中指定的元素,
每次将元素以var为关键字存入page域
标签体执行次数为容器的长度
<c:foreach
var="element" items="${arr}">
${element}
</c:foreach>
<c:foreach
var="entry" items="${map}">
${entry.key} = ${entry.value}
</c:foreach>
<c:if
test="true">
statments
</c:if>
<c:if
test=${1>1}>
statments
</c:if>
<c:if
test=${usr==null}>
请登录
</c:if>
<c:if
test=${usr!=null}>
你好 ${usr.usrname} .
</c:if>
重点:
el取值, 从4个域中取, 取出javabean的属性
取出容器的内容, 数组,list,map
${ 3 mod2 }
jstl标签:
导入jar包, 在jsp页面,通过tablib指令导入标签库
foreach迭代, if判断
--------------------------
request内置了3个map, attributes, parameters, headers
| |
requestScope param
------------------
el:
${pageContext}
从url中取出参数
${param}
${paramValues}
取出请求头
${header}
${headerValues}
${pageScope}
${sessionScope.usr.usrname}
${requestScope} request中map
${applicationScope}
${cookie}
${cookie.JSESSIONID.name}
${cookie.JSESSIONID.value} Map<name,cookie>
所有初始化参数
${initParam}
---------------------
request.getContextPath()获得webapp名称
${pageContext.request.contextpath}
-----------------------
${pageContext.request.parameter}
${param}
------------------------------
native2ascii命令
往properties里,
写的中文要经过ascii编码
ResouceBoundle
----------------------
使用超链接提交时,
可以使用javascript
生成一个表单, 转为post方式
---------------
www.sina.com
sina.com 域名
www 主机名
mail 主机名
---------------------------
分享到:
相关推荐
EL(Expression Language)和JSTL(JavaServer Pages Standard Tag Library)是Java Web开发中的重要技术,它们在构建动态Web应用程序时发挥着关键作用。EL主要用于简化页面中的数据访问,而JSTL则提供了一系列标签...
在"jstl入门示例源码"中,你可以找到一系列展示JSTL基本功能的编译成功示例。这些示例将帮助初学者快速掌握JSTL的核心概念和用法。下面我们将深入探讨JSTL的关键组件和主要功能: 1. **Core标签库**:这是JSTL中最...
IBM作为Java技术的重要贡献者,提供了丰富的学习资源,包括这份“JSTL入门IBM文档”。这份文档详细介绍了JSTL的基础知识,帮助开发者快速上手。 **1. 基本语法** JSTL的基本语法主要由标签组成,它们以`开头,例如`...
### JSTL 入门:表达式语言 #### 引言 JSTL(JavaServer Pages Standard Tag Library,即JavaServer Pages标准标记库)是一种专为简化JavaServer Pages(JSP)应用程序开发与维护而设计的技术。JSTL提供了一系列预...
**JSTL(JavaServer Pages Standard Tag Library)入门标准教程** **一、JSTL概述** JSTL是由Apache软件基金会开发的一个JavaServer Pages(JSP)标准标签库,它提供了一系列标签来简化JSP页面的开发,使代码更加...
在JSP中,可以使用EL(Expression Language)和JSTL标签来展示数据。 5. **运行与测试**: 将项目部署到Tomcat等应用服务器,通过浏览器访问配置的URL,查看SpringMVC是否正常工作。 **三、整合Maven与SpringMVC** ...
JSP 标准标记库(JSP Standard Tag Library,JSTL)是一个实现 Web 应用程序中常见的通用功能的定制标记库集,这些功能包括迭代和条件判断、数据管理格式化、XML 操作以及数据库访问。在 developerworks 上其新系列...
通过学习"jstl标签和el教程(基础入门)",你可以掌握如何在JSP页面中有效地使用JSTL和EL,提高开发效率,使代码更易于理解和维护。这个教程可能包含示例代码、解释和练习,帮助初学者快速上手。在"Jstl Learn"这个...
### JSTL入门详解 **一、JSTL1.0概述** JSTL(JavaServer Pages Standard Tag Library,JavaServer页面标准标签库)1.0版本发布于2002年6月,旨在简化JSP(JavaServer Pages)页面的开发过程,减少对脚本代码的...
**JSTL(JavaServer Pages Standard Tag Library)**是Java Web开发中的一种标准标签库,它为JSP页面提供了一套强大的、可..."JSTL入门帮助文档"会详细讲解这些概念和用法,对初学者来说是一份非常有价值的参考资料。
3. **emis16(JSP+JavaBean+Servlet+EL+JSTL+Taglib).zip** - 这部分涵盖了Java服务器页面(JSP)、JavaBean、Servlet、表达式语言(EL)和JavaServer Pages Standard Tag Library(JSTL)的综合运用。JSP用于创建...
1. 添加JSTL和EL(Expression Language)的JAR文件到Web应用的`WEB-INF/lib`目录。 2. 在JSP页面中引入JSTL库,例如:`<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>`。 3. 使用指定前缀的标签...
- EL表达式只能在支持EL的标签(如JSTL标签)中使用。例如,`${sessionScope.myname}" />`会输出session范围内的myname变量的值。 - EL可以组合使用,如`${user.firstName} ${user.lastName}!" />`会输出用户的名字...
JSP 标准标记库(JSP Standard Tag Library,JSTL)是一个实现 Web 应用程序中常见的通用功能的定制标记库集,这些功能包括迭代和条件判断、数据管理格式化、XML 操作以及数据库访问。在developerWorks 上其新系列的...
**一、JSTL入门** JSTL的引入旨在减少JSP页面中的脚本let和内联Java代码,使页面更加清晰,便于维护。核心标签库`core`提供了许多基本的控制结构和操作,如迭代、条件判断、URL处理等。 1. **核心标签库(core)**...
这份"JSTL入门BIM文档"可能是针对初学者的,详细介绍了JSTL的基础知识,包括如何安装、配置和使用JSTL,以及各种标签的实例演示。通过学习,开发者可以快速掌握JSTL的基本用法,提升JSP开发效率。而"chm"格式的文档...
JSTL的一个关键优点是它鼓励使用表达式语言(Expression Language,EL)而不是脚本元素。EL是一种简洁的语法,可以方便地访问JavaBean属性、JSP作用域中的变量以及执行基本的算术和逻辑运算。通过使用EL,JSP页面...
课程涵盖:Servlet程序、Filter过滤器、Listener监听器、JSP页面、EL表达式、JSTL标签库、jQuery框架、Cookie技术、Session会话、JSON使用、Ajax请求等全部Web开发核心技术点,并在讲解知识点过程中带领大家完成一个...
在实际开发中,结合使用EL和JSP标准标签库(JSTL),可以进一步提升代码的可维护性和可扩展性。JSTL提供了更多的标签来处理循环、条件判断、XML操作等复杂任务,与EL一起,它们共同构成了JSP 2.0之后推荐的最佳实践...
最后,我们讨论**FN标签库**,即EL(Expression Language)的函数库。这些函数提供了一些额外的字符串处理、数组操作等实用功能。例如,`<fn:length>`可以计算字符串或数组的长度,`<fn:split>`可以将字符串按照指定...