EL表达式:它是可以在JSP页面中直接使用的标签语言!
1、EL表达式中的查找并输出:
全域查找:从小域往大域查找,pageContext->request->session->application
${xxx},全域查找名为xxx的属性,如果不存在,输出空字符串。
${pageScope.xxx}、${requestScope.xxx}、${sessionScope.xxx}、${applicationScope.xxx}:指定域获取属性!
例:
${pageScope.user}:输出pageContext.getAttribute(“user”)
${requestScope.user}:输出request.getAttribute(“user”);
${sessionScope.user}:输出session.getAttribute(“user”);
${applicationScope.user}:输出application.getAttribute(“user”);
2、EL表达式与JavaBean的结合
<%
Employee employee=new Employee();
employee.setName(“张三”);
employee.setSalary(20);
request.setAttribute(“employee”, employee);
%>
${requestScope.employee.name}
${requestScope.employee.salary}
3、EL函数库
使用前需要导入标签库:<%@taglib prefix=“fn” uri=“http://java.sun.com/jsp/jstl/functions” %>
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):联合字符串数组!
使用格式:${前缀名:函数},前缀名为导入标签库语句的prefix属性值,此时为fn
例:
${fn:length(arr) }
4、EL表达式的运算符
符号 常规 在EL表达式里使用
1 等于 eq 或者 ==
2 不等于 ne 或者 !=
3 大于 gt 或者 >
4 小于 lt 或者 <
5 大于等于 ge 或者 >=
6 小于等于 le 或者 <=
值为空格式: ${empty requestScope.键名}
值不为空格式: ${! empty requestScope.键名}
正则表达式:${ requestScope.键名==0 ? '值1':'值2'}