JavaWeb体系结构的理解-6.EL与JSTL
2012-10-12 09:52
393 查看
通过EL(Expresssion Language表达式语言JSP2.0引入的新特性)可以简化JSP开发中对对象的而引用,从而规范化页面代码。通过JSTL(Java
Server Pages Standard Tag LibraryJSP标准标签库)可以取代JSP中嵌入的Java代码。这两个技术都是方便开发人员高效开发的。
为了访问Web程序中的数据,EL提供了11个隐含对象。这些对象类似JSP的内置对象,除了PageContext对应于JavaBean外,其它都是Java.util.Map类型。获取方法为去掉get,首字母小写。
sql<sql:query>、XML xml<xml:forEach>、函数 fn<fn:split>。
下面以星期条件问候和遍历数组为例说明JSTL和EL的结合使用方法:
根据今天是星期几,来决定显示在页面上不同的问候语句。
遍历数组
参考文献
1. JavaWeb体系结构的理解-1.基础
2. JavaWeb体系结构的理解-2.JSP语法
3. JavaWeb体系结构的理解-3.JSP内置对象
4. JavaWeb体系结构的理解-4.JavaBean技术
5.
JavaWeb体系结构的理解-5.Servlet与过滤器
Server Pages Standard Tag LibraryJSP标准标签库)可以取代JSP中嵌入的Java代码。这两个技术都是方便开发人员高效开发的。
EL的语法、运算符与隐含对象
EL一般结合JSTL一起使用,可以访问JavaBean的属性、JSP的作用域、获得PageContext对象。EL的语法是以${开头,以}结尾。他有访问数据运算符、算术运算符、逻辑运算符、条件运算符、empty运算符等。运算符 | 功能 | 例子 | 结果 | 备注 |
+-*/% | 算术运算 | ${17%5} | 2 | |
== != eq ne lt gt le ge | 关系运算符 | ${7<6}${7 lt 6} | False | |
&& || ! and or not | 逻辑 | ${!true} | False |
对象 | 获取方法 | 功能 | 备注 | |
页面上下文对象 | Request,Response, Out,session,exception,page servletContext | ${pageContext.request} | 获取相应信息 | |
访问作用域范围的隐含对象 | pageScope,requestScope, sessionScope,applicationScope | 返回作用范围内的属性值集合Map | ||
访问环境信息的隐含对象 | Param,paramvalues,header, headeValues,ininParam,cookie |
JSTL标签库
JSTL包括5个标签库:核心c <c:forEach>、格式fmt <fmt:parseDate>、SQLsql<sql:query>、XML xml<xml:forEach>、函数 fn<fn:split>。
内容 | 功能 | 例子 | 备注 | |
JSTL核心标签库 | 表达式标签<c:out><c:set> <c:remove><c:catch> | 输出、设置、删除、异常捕获 | <c:out value=”name”> | 相当于JSP语法的<%=name%>或者EL表达式的${name} |
流程控制标签<c:if><c:choose> <c:when><c:otherwise> | 条件判断、条件选择、条件测试、其他条件 | 注意没有else标签。When和otherwise只用在choose标签里 | ||
循环标签<c:forEach><c:forTokens> | <c:forEach $item=”${reqeusetScope.list}” var=”key” varStatus=”id” begin=”1”}${id.index}</c:forEach> | |||
格式标签库 | <fmt:parseDate> <fmt:formatDate> | 格式化日期 |
根据今天是星期几,来决定显示在页面上不同的问候语句。
<c:set var="week"> <%=new java.util.Date().getDay()%> </c:set> <c:choose> <c:when test="${week==0}">7</c:when> <c:otherwise><c:out value="${week}"/></c:otherwise> </c:choose> <c:when test="${week==0||week==6}">sleep</c:when> <c:when test="${week==1}">working</c:when> <c:otherwise>Work hard!</c:otherwise> </c:choose>
遍历数组
<% String []arr = {"football","basketball"}; request.setAttribute("arr",arr); %> <c:forEach items="${requestScope.arr}" var="ball" varStatus="id"> ${id.index}${ball} </c:forEach>
参考文献
1. JavaWeb体系结构的理解-1.基础
2. JavaWeb体系结构的理解-2.JSP语法
3. JavaWeb体系结构的理解-3.JSP内置对象
4. JavaWeb体系结构的理解-4.JavaBean技术
5.
JavaWeb体系结构的理解-5.Servlet与过滤器
相关文章推荐
- JavaWeb体系结构的理解-5.Servlet与过滤器
- JavaWeb体系结构的理解-7.数据库应用
- JavaWeb体系结构的理解-8.Struts使用
- JavaWeb体系结构的理解-1.基础
- JavaWeb体系结构的理解-.JSP内置对象
- JavaWeb体系结构的理解-3.JSP内置对象
- JavaWeb体系结构的理解-2.JSP语法
- JavaWeb体系结构的理解-4.JavaBean技术
- JavaWeb体系结构的理解-9.程序调试与发布
- javaweb之jstl标签库
- 项目报错:The absolute uri: http://java.sun.com/jsp/jstl/core cannot be resolved in either web.xml or the
- 《轻量级Java Web整合开发入门SSH》 - 快速理解Java框架的又一积木
- Java Web 发展的理解
- The absolute uri: http://java.sun.com/jsp/jstl/core cannot be resolved in either web.xml or the jar files deployed with this ap
- Java Web 框架:我对架构中分层的理解
- Java Web 自定义标签 JSTL及EL语言
- WEB项目中出现The absolute uri: http://java.sun.com/jsp/jstl/core cannot be resolved in ei问题的解决方法
- java web 容器实现web页面的理解
- 深入理解JavaWeb技术内幕(一)
- Java Server理解与实践 —— 集成Spring Web Security