(你今后的成功取决于你现在每一次的努力)
EL表达式的作用是为了使jsp写起来更加简单,使代码简化。
语法结构:${experssion}
EL表达式一般操作的都是
域对象中的数据
,操作不了局部变量
域对象在jsp中分别是:pageContent,requset,session,application。
pageContext.setAttribute("uname","zhangsan");
request.setAttribute("uname","lisi");
session.setAttribute("uname","wangwu");
application.setAttribute("uname","zhaoliu");
这是域对象数据设置,我们用EL表达式去获取一下。
${uname} //即可获取uname的值,这可比用page、requset、session、application去获取对象简单太多了。
既然他们四个都是同名(uname)那EL表达式又该去选择获取谁呢?
el表达式获取对象是通过从小到大范围去找的,先去找page,再去找requset,再去找session,再去找application。
操作字符串:
所以输出结果如下:
那我们如何去指定找某一个域对象,比如我这时就想获取session的对象也就是(wangwu)。
代码如下:
session范围:${sessionScope.uname}<br>
输出结果:
四个域对象对应的空间对象:pageScope,requsetScope,sessionScope,applicationScope。想去查找哪一个域对象将其替换sessionScope即可。
操作list:
List<String> list = new ArrayList<>();
list.add("aaa");
list.add("bbb");
list.add("ccc");
request.setAttribute("list",list);
先定义一个list链表,用el表达式去获取list链表信息:
可以直接调用list函数去返回一些数值,比如size()。获取list中的值可以通过list.[下标值],即可返回属性值,也可以不写下标值,可以返回整个链表信息。
<h4>获取list</h4>
获取list的size:${list.size()}<br>
获取list的指定下标的值:${list[1]}<br>
注:list代表的是限域变量名
操作Map:
Map map= new HashMap();
map.put("aaa","111");
map.put("bbb","222");
map.put("ccc","333");
request.setAttribute("map",map);
用法与list类似:
<h4>获取Map</h4>
获取Map指定key的value值:${map.aaa}--${map["bbb"]}
注:map代表的是限域变量名
操作javaBean对象:
先创建一个User对象
public class User {
private Integer userId;
private String uname;
private String upwd;
public User() {
}
public User(Integer userId, String uname, String upwd) {
this.userId = userId;
this.uname = uname;
this.upwd = upwd;
}
public User(Integer userId) {
this.userId = userId;
}
public Integer getUserId() {
return userId;
}
public void setUserId(Integer userId) {
this.userId = userId;
}
public String getUpwd() {
return upwd;
}
public void setUpwd(String upwd) {
this.upwd = upwd;
}
public String getUname() {
return uname;
}
public void setUname(String uname) {
this.uname = uname;
}
}
在jsp文件中去声明user对象
User user = new User();
user.setUserId(1);
user.setUname("zhangsan");
user.setUpwd("123456");
request.setAttribute("user",user);
直接调用user的方法和属性名,但要注意,必须在user类中去实现get方法。
<h4>获取javaBean对象</h4>
获取javaBean对象:${user}<br>
获取javaBean中的属性:${user.uname}---${user.getUpwd()}