1.语法结构
${
expression}
2.运算符
EL提供“.”和"[]"两种运算符来存取数据。
当要存取的属性名称中包含了一些特殊字符,如.或-等并非字母或数字的符号,就一定要使用“[]”。例如:
${ user. My-Name}应当改为${user["My-Name"]}
如果要动态取值时,就可以用“[]”来做,而“.”无法做到动态取值。例如:
${sessionScope.user[data]}中data 是一个变量
3.变量
EL存取变量数据的方法很简单,例如:${username}。它的意思是取出某一范围中名称为username的变量。
因为我们并没有指定哪一个范围的username,所以它会Page、Request、Session、Application 范围查找。
假如途中找到username,就直接回传,不在继续找下去,但是假如全部的范围都没有找到时,就回传“”。
属性范围在EL中的名称: Page - PageScope、
Request - RequestScope、
Session - SessionScope、
Application - ApplicationScope
例:${SessionScope.username} 在session范围里获取username变量
4.隐式对象
5.自动转变类型
${param.count + 20} 等价于
String str_count =request.getParameter("count");
int count =Integer.parseInt(str_count);
count = count + 20;
假若窗体传来count的值为10时,那么上面的结果为30。之前没接触过JSP 的读者可能会认为上面的例子是理所当然的,
但是在JSP 1.2 之中不能这样做,原因是从窗体所传来的值,它们的类型一律是String,所以当你接收之后,必须再将它转为其他类型才行。