EL表达式语法(4)

2019-07-30 13:23

?

?

?

若N属于Integer类型,返回new Integer(A.intValue()) 若N属于Short类型,返回new Short(A.shortValue()) 若N属于Byte类型,返回new Byte(A.byteValue())

?

?

?

())

?

?

?

?

?

w ?

?

错误。

?

?

?

若N属于Long类型,返回new Long(A.longValue()) 若N属于Float类型,返回new Float(A.floatValue()) 若N属于Double类型,返回new Double(A.doubleValue否则,错误。

若A属于String类型,那么: 如果N属于BigDecimal,那么:

如果new

BigDecimal(A)抛出一个异常,则报错误。 否则,返回ne

BigDecimal(A)。 若N属于BigInteger,那么:

如果new BigInteger(A)抛出一个异常,则报

否则,返回new BigInteger(A)。

若N.valueOf(A)抛出一个异常,则报错误。 否则,返回N.valueOf(A)。

?

否则,报错误。

1.7.4强制A成Character

o

o

o

o

若A属书Number类型,安静地强制转化成Short,然后返回一个Character,它

的数值等于对应的Short。 o

o

否则,报错误

若A是字符型,返回A.charAt(0) 若A属于Boolean类型,则报错 若A属于Character,返回A

若A等于null 或则 \,返回(char)0

1.7.5强制成Boolean

?

若A等于null 或 \返回 false ?

否则,若A属于Boolean,返回A ?

否则,若A是一个String类型,并且Boolean.valueOf(A)不抛出异常,并且返回它。 ?

否则,报错误。

1.7.6强制A成一个枚举型T

o

o

o

o

若A是一个字符串调用Enum.valueOf(T.getClass(),A)方法,并且返回这个结果 若A等于\返回null

若A被分配成T,则安静地强制转化 若A等于null,返回null

1.7.7强制成任何其他类型T

o

若A等于null,则返回null

o

o

?

若A分配成T,则安静地强制转化。

若A为一个字符串,并且T没有含有PropertyEditor:

若A等于\返回null

?

o

?

否则,报错误。

若A为一个字符串并且T的PropertyEditor抛出一个异常:

若A等于\返回null

?

o

o

否则,错误。

否则报错

否则,应用T的PropertyEditor

EL语法

EL的语法很简单,他最大的特点就是使用上很方便 例:

${sessionScope.user.sex}

所有EL都是以 ${ 为起始、以} 为结尾的。

上述EL范例的意思是:从Session取得用户的性别。如果使用之前JSP代码的写法如下: <%

User user = (User)session.getAttribute(\String sex = user.getSex( ); %>

两者相比较之下,可以发现EL的语法比传统JSP代码更为方便、简洁。 EL提供 . 和 [ ] 两种运算符来存取数据,[ ]可以访问集合或者是数组的元素、Bean的属性。下列两者所代表的意思是一样的,但是需要保证要取得对象的那个的属性有相应的setXxx()和getXxx()方法才行。 例:

${sessionScope.user.sex} 等于

${sessionScope.user[\

. 和 [ ] 也可以同时混合使用,如下: ${sessionScope.shoppingCart[0].price}

返回结果为shoppingCart中第一项物品的价格。 在EL中,字符串既可以使用\,可以使用'abc'。 EL运算符

EL的算术运算符和Java中的运算符的大致相同,优先级也相同。 注意:'+' 运算符不会连接字符串了,他只用于加法运算。 EL关系运算符有以下六个运算符

关系运算符 说明 范例 结果 = = 或 eq | 等于 |${ 5 = = 5 } 或 ${ 5 eq 5 } | true != 或 ne | 不等于 |${ 5 != 5 } 或 ${ 5 ne 5 } | false < 或 lt | 小于 |${ 3 < 5 }或 ${ 3 lt 5 } | true > 或 gt | 大于 |${ 3 > 5 }或 ${ 3 gt 5 } | false <= 或 le | 小于等于 |${ 3 <= 5 }或 ${ 3 le 5 } | true >= 或 ge | 大于等于 |${ 3 >= 5 }或 ${ 3 ge 5 } | false empty运算符

Empty运算符主要用来判断值是否为null或空的,例如: ${ empty param.name }

接下来说明Empty运算符的规则: {empty} A

如果A为null时,返回true 如果A不存在时,返回true

如果A为空字符串时,返回true 如果A为空数组时,返回true 如果A为空的Map时,返回true

如果A为空的Collection时,返回true 否则,返回false 注意:

在使用EL关系运算符时,不能够写成:

${param.password1} = = ${param.password2} 或者

${ ${param.password1 } = = ${ param.password2 } } 而应写成

${ param.password1 = = param.password2 } 使用EL从表单中取得数据

与输入有关的隐含对象有两个:param和paramValues,它们是EL中比较特别的隐含对象。一般而言,我们在取得用户的请求参数时,可以利用下列方法: request.getParameter(String name)

request.getParameterValues(String name)

在EL中则可以使用param和paramValues两者来取得数据。 ${param.name}

${paramValues.name}可以取得所有同名参数的值

${paramValues.hobbies[0]}可以通过指定下标来访问特定的参数的值 这里param的功能和request.getParameter(String name)相同,而

paramValues和request.getParameterValues(String name)相同。如果用户填了一个form,form名称有为username的文本框,则我们就可以使用${param.username}来取得用户填入文本框的值。 EL函数

EL中使用函数要写一个要使用到方法的类,然后在配置xxx.tld文件,然后在JSP中使用时和JSP的自定义标签相似。 xxx.tld中的配置

reverse

jsp2.examples.el.Functions

java.lang.String

reverse( java.lang.String )

使用EL函数的写法 ${sn:upper('abc')}

注意:在定义EL函数时,都必须为公开静态(public static) EL的隐含对象

EL也可以使用内置对象中设置的属性,需要使用特定的EL内置对象 属性范围 | 在EL中的对象 Page | pageScope Request | requestScope Session | sessionScope Application | applicationScope EL中使用内置对象的属性 ${requestScope.user} 等价于

<%request.getAttribute(\

如果不写出特定的范围 ,那就会在不同的范围间进行搜索了

例:{user}(user是在request范围 request.setAttribute(\) 也就等于

${requestScope.user}

<%request.getAttribute(\EL的隐含对象

对象 类型 说 明 PageContext | javax.servlet.ServletContext |表示此JSP的PageContext

-----------------------------------------------------------------------------------

PageScope | java.util.Map |取得Page范围的属性名称所对应的值

--------------------------------------------------------------------


EL表达式语法(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:证券考试题目

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: