标签:
Expression Language————表达式语言
获取数据
执行运算
获取Web开发常用对象
执行Java方法
<% User user = new User("旺财", "幸福路", 18); pageContext.setAttribute("pageContextUser", user); request.setAttribute("requestUser", user); session.setAttribute("sessionUser", user); application.setAttribute("applicationUser", user); %> <h2>获取page域对象</h2> ${pageContextUser.name}----${pageContextUser.addr}-----${pageContextUser.age} <br/> ${pageScope.pageContextUser.name}----${pageScope.pageContextUser.addr}-----${pageScope.pageContextUser.age} <hr /> <h2>获取request域对象</h2> ${requestUser.name}----${requestUser.addr}-----${requestUser.age} <br/> ${requestScope.requestUser.name}----${requestScope.requestUser.addr}-----${requestScope.requestUser.age} <hr /> <h2>获取session域对象</h2> ${sessionUser.name}----${sessionUser.addr}-----${sessionUser.age} <br/> ${sessionScope.sessionUser.name}----${sessionScope.sessionUser.addr}-----${sessionScope.sessionUser.age} <hr /> <h2>获取application域对象</h2> ${applicationUser.name}----${applicationUser.addr}-----${applicationUser.age} <br/> ${applicationScope.applicationUser.name}----${applicationScope.applicationUser.addr}-----${applicationScope.applicationUser.age} <hr /> <!-- EL表达式获取数据的规律: 1.EL表达式只能获取四大域对象的数据 2.在没有指定获取哪个域的时候从小域到大域开始遍历获取 3.当然也可以指定域:pageScope,requestScope,sessionScope,applicationScope 4.所以如果把对象存在sessionScope或者applicationScope那么还是指定一下域,这样子EL表达式就不用遍历了 --> <hr /> <% User user2 = new User("小强", "健康街", 28); User[] users = {user,user2}; List<User> userList = new ArrayList<User>(); userList.add(user); userList.add(user2); pageContext.setAttribute("arrayUser", users); pageContext.setAttribute("listUser", userList); %> <h2>利用.和[]获取数组中的对象中的值</h2> ${pageScope.arrayUser[0].name }---${pageScope.arrayUser[0].addr }---${pageScope.arrayUser[0].age } <br/> ${pageScope.arrayUser[1].name }---${pageScope.arrayUser[1].addr }---${pageScope.arrayUser[1].age } <hr /> <h2>利用.和[]获取集合中的对象中的值</h2> ${pageScope.listUser[0].name }---${pageScope.listUser[0].addr }---${pageScope.listUser[0].age } <br/> ${pageScope.listUser[1].name }---${pageScope.listUser[1].addr }---${pageScope.listUser[1].age } <hr /> <h2>利用[]获取对象中的值</h2> ${pageScope.listUser[0]["name"] }---${pageScope.listUser[0]["addr"] }---${pageScope.listUser[0]["age"] } <br/> ${pageScope.listUser[1]["name"] }---${pageScope.listUser[1]["addr"] }---${pageScope.listUser[1]["age"] } <hr /> <!-- EL表达式获取数据时.和[]的区别 在集合或者数组中可以使用[]输入下标来直接获取值 而.后面不能跟有数字,所以不能作为下标的获取标识来使用 []中跟的值要么是数字,要么要用""引起来 .后面跟的东西既不能是数字,也不能用""引起来 --> <hr />
EL表达式的11个隐式对象
pageContext
pageScope
requestScope
SessionScope
ApplicationScope
cookie
initParam
param
paramValues
header
headerValues
注意:如果头里面有“-” ,例Accept-Encoding,则要headerValues[“Accept-Encoding”]
${cookie.key}取的是cookie对象,如访问cookie的名称和值,须${cookie.key.name}或${cookie.key.value}
${3+2*8+5/8 }
EL表达式语法允许开发人员开发自定义函数,以调用Java类的方法。
在EL表达式中调用的只能是Java类的静态方法。
这个Java类的静态方法需要在TLD(Tagliary Definition)文件中描述,才可以被EL表达式调用。
EL自定义函数用于扩展EL表达式的功能,可以让EL表达式完成普通Java程序代码所能完成的功能。
求关注啊。。。。。。。
标签:
原文地址:http://my.oschina.net/lunqi/blog/494702