EL(Expression Language)--表达式语言

使用servlet中的四大作用域来设置获取值

<%

pageContext.setAttribute("msg", "yetong");

session.setAttribute("msg", "yetong1");

application.setAttribute("msg", "yetong2");

request.setAttribute("msg", "yetong3");

%>

当我们需要在jsp中获取四大作用域中的共享数据时,可以通过内置对象来获取

<%=pageContext.getAttribute("msg") %>

<%=session.getAttribute("msg")%>

<%=application.getAttribute("msg")%>

<%=request.getAttribute("msg")%>

而pageContext.findAttribute(String name)方法可以实现自动按照范围的从小到大一次从page、request、session、application(ServletContext)寻找制定名的属性值。

<%=pageContext.findAttribute("msg")%><--! 会获取到pageContext中的值,因为pageContext 的作                                                                               用域最小-->


EL(Expression Language)--表达式语言_第1张图片

在开发中有时我们会有如下的需求。

若从作用域中获取指定属性值时,有值显示值,无值显示空字符串(默认显示null)

使用jsp内置对象来写的话可以写成以下的形式:

<%=pageContext.findAttribute("msg") == null ? "": pageContext.findAttribute("msg")%>

而这个等价于EL中的

${msg}

其中的语法:

在EL中访问javabean属性方式:

方式一:使用   .   来访问

方式二:使用["name"]来访问

${属性名} 或则是${"属性名"}

${对象.属性名}=====对象.getXxxx,注意属性必须提供getter方法

若操作是map对象则:${map.key}

若要获取指定的作用域的指定

${pageScope.}或者${pageScope[" "]}

${requestScope.}或者${requestScope[" "]}

${sessionScope.}或者${sessionScope[" "]}

${applicationScope.}或者${applicationScope[" "]}


EL(Expression Language)--表达式语言_第2张图片

Tomcat7开始,EL不仅支持属性访问,还支持使用方法

更多使用

你可能感兴趣的:(EL(Expression Language)--表达式语言)