JavaWeb体系结构的理解-6.EL与JSTL

通过ELExpresssion Language表达式语言JSP2.0引入的新特性)可以简化JSP开发中对对象的而引用,从而规范化页面代码。通过JSTLJava 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

 

为了访问Web程序中的数据,EL提供了11个隐含对象。这些对象类似JSP的内置对象,除了PageContext对应于JavaBean外,其它都是Java.util.Map类型。获取方法为去掉get,首字母小写。

 

对象

获取方法

功能

备注

页面上下文对象

Request,Response, Out,session,exception,page

servletContext

${pageContext.request}

获取相应信息

 

访问作用域范围的隐含对象

pageScope,requestScope,

sessionScope,applicationScope

 

返回作用范围内的属性值集合Map

 

访问环境信息的隐含对象

Param,paramvalues,header,

headeValues,ininParam,cookie

 

 

 

JSTL标签库

JSTL包括5个标签库:核心c 、格式fmt SQL sqlXML xml、函数 fn

 

内容

功能

例子

备注

JSTL核心标签库

表达式标签

输出、设置、删除、异常捕获

相当于JSP语法的<%=name%>或者EL表达式的${name}

 

流程控制标签

条件判断、条件选择、条件测试、其他条件

 

注意没有else标签。Whenotherwise只用在choose标签里

 

循环标签

 

 

格式标签库

格式化日期

 

 

下面以星期条件问候和遍历数组为例说明JSTLEL的结合使用方法:

根据今天是星期几,来决定显示在页面上不同的问候语句。


<%=new java.util.Date().getDay()%>


    7
    
    
sleep
    working
     Work hard!

遍历数组

<%
String []arr = {"football","basketball"};
request.setAttribute("arr",arr);
%>

${id.index}${ball}


参考文献

1. JavaWeb体系结构的理解-1.基础

2. JavaWeb体系结构的理解-2.JSP语法

3. JavaWeb体系结构的理解-3.JSP内置对象

4. JavaWeb体系结构的理解-4.JavaBean技术

5. JavaWeb体系结构的理解-5.Servlet与过滤器

你可能感兴趣的:(具体技术,jsp,exception,c,java,header,session)