el表达式取值必须是servlet四大作用域
由小到大排列为servletContext>session>request>pageContext
这四个域都有setAttribute("",object)方法和getAttribute("")方法,el表达式会自动从四大域中按作用范围从小到大寻找对应名字的值,其内部调用的就是pageContext的findAttribute("")方法
如果要想在页面通过el表达式得到值就必需先调用域的setAttribute方法把值设置进去,不需要什么配置,直接写el表达式就可以,代码如下
<%
application.setAttribute("name", "zhangsan");//Context域
session.setAttribute("name", "lisi");//session域
request.setAttribute("name", "wangwu"); //request域
pageContext.setAttribute("name", "zhaoliu");//page域
%>
${name}
输出结果是page域中的zhaoliu 如果将page域删掉则输出wangwu
本文介绍了EL表达式如何从Servlet的四大作用域(ServletContext、session、request、pageContext)中获取值的过程,并通过示例代码展示了不同作用域下属性的覆盖原则。

1万+

被折叠的 条评论
为什么被折叠?



