EL标签(Expression Language)
表达式语言的灵感来自于 ECMAScript 和 XPath 表达式语言,它提供了在 JSP 中简化表达式的方法。它是一种简单的语言,基于可用的命名空间(PageContext 属性)、嵌套属性和对集合、操作符(算术型、关系型和逻辑型)的访问符、映射到 Java 类中静态方法的可扩展函数以及一组隐式对象。
${name}不存在返回空字符串
EL访问作用域
page,request,session,application,从最小的范围开始取,取到就不往下取了
在指定作用域中找
${pageScope.username} ===pageContext.getAttribute("username",PageContext.PAGE_SCOPE) ${requestScope.username}
EL隐含对象
* el表达式的特点可以调用get【is】类型的方法,并且方法中没有参数
* 还可以连写
* 可以通过bean中的geter和seter
获取request:
<%=pageContext.getRequest()%> ${pageContext.request}
获取web应用的根
<%=((HttpServletRequest)pageContext.getRequest()).getContextPath()%> ${pageContext.request.contextPath}
获取session中的值
获取username的值
${pageContext.session.username} sessionid:<%=pageContext.getSession().getId() %><br> sessionid:${pageContext.session.id}
${param.username}===request.getParameter("username") ${paramValues.love[0]}====request.getParameterValues("love")
EL中的.和[]都可以获取到属性值
${sessionScrope.user["sex"]}====${sessionScope.user.sex} ${sessionScrope.user[data]}此时data是一个动态的变量
使用[]可以做到动态的取值
EL
EL不能嵌套
${empty 要判断的对象}只能判断作用域中的
不能直接判断对象,判断对象永远是true,只有将对象放置到作用域中才能判断
empty:判断一个对象是否null
* 如果为null 返回true
* 如果不为null 返回false
用empty处理集合时:
* 如果集合==null 返回true
* 如果集合!=null,并且集合中没有元素 返回true
* 如果集合!=null,并且集合中有元素 返回false
${A?B:C}
文章评论