Expression Language

一  EL语法

${sessionScope.user.sex}   所有El都是以${开头 }结尾

运算符  。与[ ] 

上述同样可以写成:${sessionScope.user[sex]}   

若有特殊符号如.  -  则只能用[ ] 形式

EL中的变量${username}   当未指定范围时,会默认先在page中找,然后是Request、session、application,找到一个即返回停止

若返回指定范围的对象,则可以使用如同:${pageScope.usernme}等

自动类型转换,若大括号中又+  - 等符号,里边的元素会根据符号转换的优先级先转换,然后在计算,与c里边的隐式转换很像

拥有的保留字:And Or No eq ne lt gt le ge true false null instanceof empty div mod


二 隐含对象

范围有关:

PageContext:

PageScope:

RequestScope:

sessionScope:

applicationScope:

输入输出有关:

param: 如${param.name} 功能与request .getParameter(String name)相同

paramValues: 与上类似 可以${param.name[0]} 等 

在传输数据后,需要制定编码方式,才能确定页面顺利接受中文

有:<fmt:requestEncoding value = "GB2312" />

其他相关:

header: 用来沟通浏览器与服务器的信息

headerValues:

cookie: 是一个小小的文本文件,以key、value的方式将Session Tracking的内容记录在文本文件内,在浏览器的暂存区

initParam:可以自行设定web站台的环境参数(Context),想得到时可以通过initparam来获得,如一个web文件中:

<context-param>

<param-name>userid</param-name>

<param-value>mike</param-value>

</context-param>

就可以通过${initParam.userid}来获得他的参数值mike了


三 EL Functions

EL函数的语法:ns:function( arg1, arg2.....)

ns是前置名称(prefix)他必须和taglib指令的前置名称一样

如何定义el函数:如定义reverse 函数

tomcat的el函数范例,主要分为四个部分

1 web.xml:设定tablib的tld文件位置

2 functions.jsp:使用el函数的范例程序

3 jsp2-example-tablib.tld:EL函数、标签库的设定文件

4 jsp2.examples.el.function.java:EL函数主要程序逻辑部分

当Container执行程序时,它会根据uri的值,到web.xml中找到相应的tld文件

TLD文件:主要为标签的设定文件,其中包含标签的名称、参数等等,在jsp2.0之后,相关el函数的设定,也可以爱tld文件中定义

web.xml:是每个web站台最主要的设定文件,在这个设定文件中,额可以设定如:Servlet、Resource、Filter等等

以下是设定tld的:

<jsp-config>

<taglib>

<taglib-uid>

http://jakarta.apache.org/tamcat/jsp2-example-taglib

</taglib-url>

<taglib-location>

/WEB-INF/JSP2/JSP2-example-taglib.tld

</taglib-location>

</taglib>

</jsp-config>

分别有指定标签tld的文件位置和uri位置

在tld文件中,有el函数的定义:如

<function>

<description>........</description>

<name>reverse</name>

<function-class>jsp2.examples.el.Functions</function-class>

<function-signature>

java.lang.String reverse(java.lang.String)

</function-signature>

</function>

指定了名称,el函数的java类,以及el函数的传入值和回传值

程序在function.java文件中

在定义el函数式,都必须为公开静态函数。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值