EL表达式可以进行算术,关系运算和逻辑运算
${1+1}
${2<3}
${2<3&&1>2 }
EL表达式不支持字符串连接操作。
empty运算符:如果判断的对象是null或者空字符串,都返回true。对于集合,即使集合对象本身不是null,没有任何元素,也返回true。
${empty user?"请登录":"欢迎您"}${user}<br/>
开发原则:JSP页面中不能出现一行Java脚本<%%>和Java表达式<%=%>
好处:如果取得的值是空,则返回“”而不是null
<%pageContext.setAttribute("name","page")%>
${pageScope.name}
路径的通用写法
“${pageContext.request.contextPath} /servlet/QueryUserServlet1”
等价
<%=request.getContextPath()%>/servlet/QueryU
<%
pageContext.setAttribute("name","page");
request.setAttribute("name","request");
session.setAttribute("name","session");
application.setAttribute("name","application");
%>
${name}<!—会在四大域中从小到大的查询,找到第一个就终止查询-->
${pageScope.name}
${requestScope.name}
${sessionScope.name}
${applicationScope.name}
开发EL Function注意事项
编写完标签库描述文件后,需要将它放置到<web应用>\WEB-INF目录中或WEB-INF目录下的除了classes和lib目录之外的任意子目录中。
TLD文件中的<uri> 元素用指定该TLD文件的URI,在JSP文件中需要通过这个URI来引入该标签库描述文件。
<function>元素用于描述一个EL自定义函数,其中:
<name>子元素用于指定EL自定义函数的名称。
<function-class>子元素用于指定完整的Java类名,
<function-signature>子元素用于指定Java类中的静态方法的签名,方法签名必须指明方法的返回值类型及各个参数的类型,各个参数之间用逗号分隔。