EL表达式

Posted yusiming

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了EL表达式相关的知识,希望对你有一定的参考价值。

EL表达式是JSP内置的表达式语言,格式${ ...} ,一个美元符号,一个中括号,

EL表达式的功能

全域查找和指定域查找

若没有找到对应的值,不会显示null,会显示空字符串,不影响输出

<%
    pageContext.setAttribute("xxx", "pageContext_XXX");
    request.setAttribute("xxx", "request_XXX");
    session.setAttribute("xxx", "session_XXX");
    application.setAttribute("xxx", "application_XXX");
%>
${xxx}
${pageScope.xxx}
${requestScope.xxx}
${sessionScope.xxx}
${applicationScope.xxx}

  jsp2.0之后不再建议使用java脚本了,EL替代的是<%= ...%>,即EL表达式只能做输出操作,不能设置内容,

  JavaBean导航,使用.属性名来替代getXXX方法

  EL可以输出的内容,在它的11个内置对象中,

  • pageScope
  • requestScope
  • sessionScope
  • applicationScope
  • param:与请求参数相关的内置对象,Map<String,String> param,与request.getParamter()作用相同,适用于单值的参数
  • paramValues:Map<String,String[]> ,适用于多值的参数
  • header:于请求头相关,map类型,key代表头名称,value代表头值,适用于单值请求头
  • headerValues:适用于多值请求头
  • initParam:获取应用初始化参数,
  • cookie:获取cookie   Map<String,Cookie> ,其中key是cookie的name,值是一个Cookie对象,应该这样获取一个cookie的value${cookie.JSESSIONID.value}
  • pageContext:以上十个都是map,pageContext就是PageContext类型  

  EL表达式操作map的方式 ${pageScope.xxx}或者${pageScope[xxx]},

  ${header[User-Agent]} <%--必须使用这种方式来操作map,因为EL表达式会以为User和Agent在做减法--%>

${xxx}
${pageScope.xxx}
${requestScope.xxx}
${sessionScope.xxx}
${applicationScope.xxx}
${header[User-Agent]} <%--必须使用这种方式来操作map,因为EL表达式会以为User和Agent在做减法--%>
${cookie.JSESSIONID.value}
${cookie.JSESSIONID.name}
${initParam.p1}
${param.username}
${param.hobby[0]}
${param.hobby[1]}
${param.hobby[2]}
${pageContext.request.scheme}
${pageContext.request.method}
${pageContext.request.contextPath}
${pageContext.session.id}

  

EL函数库

  String toUpperCase(String input):把参数转换成大写
  String toLowerCase(String input):把参数转换成小写
  int indexOf(String input, String substring):从大串,输出小串的位置!
  boolean contains(String input, String substring):查看大串中是否包含小串
  boolean containsIgnoreCase(String input, String substring):忽略大小写的,是否包含
  boolean startsWith(String input, String substring):是否以小串为前缀
  boolean endsWith(String input, String substring):是否以小串为后缀
  String substring(String input, int beginIndex, int endIndex):截取子串
  String substringAfter(String input, String substring):获取大串中,小串所在位置后面的字符串
  substringBefore(String input, String substring):获取大串中,小串所在位置前面的字符串
  String escapeXml(String input):把input中“<”、">"、"&"、"‘"、""",进行转义
  String trim(String input):去除前后空格
  String replace(String input, String substringBefore, String substringAfter):替换
  String[] split(String input, String delimiters):分割字符串,得到字符串数组
  int length(Object obj):可以获取字符串、数组、各种集合的长度!
  String join(String array[], String separator):联合字符串数组!

 











以上是关于EL表达式的主要内容,如果未能解决你的问题,请参考以下文章

jsp--EL表达式

jsp中的EL表达式

Jsp入门EL表达式_学习笔记

第五条知识点

EL表达式

EL表达式的基本知识