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表达式的主要内容,如果未能解决你的问题,请参考以下文章