CoffeeTree
IT 男人's Blog helloheyongjin@sina.com
你大娘已经不是你从前的大娘,你大爷依旧是你大爷
 

一、ELJSTL的地位

JSP中使用脚本元素的主要需求:

1.       JSP执行提供流程控制;                                            

2.       设置JSP页面的局部变量,并在以后访问;      

3.       提供复杂表达式(往往涉及Java对象)的值;

4.       访问对象的性质;                                                                   

5.       调用JavaBean或其他Java对象的方法;

但是如今已经不提倡在JSP中使用脚本元素:

1.       如果使用Java代码,开发人员就可能用到整个API,这样就会很容易创建出不可移植的代码,而对某种机器或系统存在依赖性;

2.       由于能通过Java语言访问系统元素,可能会在Jsp中混入应用业务逻辑,这就会“污染”应用的表示层;

3.       嵌入到Jsp中的Java代码很难阅读和调试,因此很难维护;

引入ELJSTL可以写出完全不含脚本的程序,前两项要求由JSTL处理,后三项由EL处理

二、EL简介

1.       EL命名变量:附属到JSP作用域对象上的属性。${属性名}

 

2.       EL表达式的使用

a)         内联放置在模板数据中;

b)         放在JSP动作的属性中;

3.       “ . ” “ [ ] “ 操作符访问对象的性质

4.        EL表达式中可用的操作符

a)         算术操作符  +-*$/div%mod

b)         逻辑操作符  &&and||or!not

c)         比较操作符  ==eq!=ne<lt>gt<=le>=ge

                                       i.              EL进行比较时,总是会“合理地”转换所比较的数据类型。

d)         其他  Empty运算符、条件运算符、()运算符

                                       i.              Empty测试条件

                       
         

5.       EL隐式对象

a)         JSP隐式对象

                                       i.              pageContext

${pageContext.request.queryString}         取得请求的参数字符串
${pageContext.request.requestURL}        
取得请求的URL,但不包括请求之  参数字符串
${pageContext.request.contextPath}        
服务的web application 的名称
 ${pageContext.request.method}          
取得HTTP 的方法(GETPOST)
${pageContext.request.protocol}        
取得使用的协议(HTTP/1.1HTTP/1.0)
 ${pageContext.request.remoteUser}        
取得用户名称
 ${pageContext.request.remoteAddr }        
取得用户的IP 地址
 ${pageContext.session.new}            
判断session 是否为新的
 ${pageContext.session.id}              
取得session ID
 ${pageContext.servletContext.serverInfo}  
取得主机端的服务信息

b)         作用域访问隐式对象

                                       i.              pageScope

                                     ii.              requestScope

                                    iii.              sessionScope

                                    iv.              applicationScope

c)         参数访问隐式对象

                                       i.              param

                                     ii.              paramValues

d)         首部访问隐式对象

                                       i.              header

${header["User-Agent"]}  获得浏览器版本

                                     ii.              headerValues

                                    iii.              cookie

e)         初始化参数访问隐式对象

                                       i.              InitParam

6.       EL函数

posted on 2008-12-24 19:11 何永进 阅读(436) 评论(0)  编辑  收藏 所属分类: JSP

只有注册用户登录后才能发表评论。


网站导航: