el表达式调用方法(曾经碰到的一个问题)

JDK 1.6.0_26

myEclipse 9

el这样

Java code
   
   
< td > ${log.operateType.name} </ td >

此时,tomcat 7和myeclipse自带的tomcat下均没问题

而当

Java code
   
   
< td > ${log.operateType.getName()} </ td >

此时,tomcat 7没问题,myeclipse自带tomcat报错

/WEB-INF/views/jsp/systemLog/logList.jsp(256,14) The function getName must be used with a prefix when a default namespace is not specified

为什么tomcat 7没问题而myeclipse自带的tomcat 会出现问题?

在 EL 中直接调用 method.
重點在於 tomcat 7 implements JSP EL 2.2
只要有 implements JSP EL 2.2 都可用此語法, 如 WebSphere v8.
不一定要使用 tomcat.

el 2.2
里面有这样一句话

In version 2.2, either type of EL expression can represent a method invocation, such as
${trader.buy(“JAVA”)}, where the arguments to the mothod invocation are specified in the expression

总结一下,在 EL 中直接呼叫 method 因为tomcat 7 对Servlet 3.0,JSP 2.2和JSP-EL 2.2的支持,el 2.2 支持调用方法  有什么不对或者不完善的地方请大家指正


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值