一、EL
1.定义:
表达式语言(Expression Language),或称EL表达式,简称EL,是Java中的一种特殊的通用编程语言,借鉴于JavaScript和XPath。主要作用是在Java Web应用程序嵌入到网页(如JSP)中,用以访问页面的上下文以及不同作用域中的对象 ,取得对象属性的值,或执行简单的运算或判断操作。EL在得到某个数据时,会自动进行数据类型的转换。
2.核心标签
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
3.EL 中的基础操作符
4.EL的隐含对象
二、JSTL
1.定义:JSP标准标签库(JSP Standard Tag Library)是Java EE网络应用程序开发平台的组成部分。它在JSP规范的基础上,扩充了一个JSP的标签库来完成一些通用任务,比如XML数据处理、条件执行、数据库访问、循环和国际化。
2.核心标签
<%@ taglib prefix="c"
uri="http://java.sun.com/jsp/jstl/core" %>
jsp页面导入
三.JSP EL中的函数
JSP EL允许您在表达式中使用函数。这些函数必须被定义在自定义标签库中。函数的使用语法如下:
${ns:func(param1, param2, ...)}
ns指的是命名空间(namespace),func指的是函数的名称,param1指的是第一个参数,param2指的是第二个参数,以此类推。比如,有函数fn:length,在JSTL库中定义,可以像下面这样来获取一个字符串的长度:
${fn:length("Get my length")}
要使用任何标签库中的函数,您需要将这些库安装在服务器中,然后使用标签在JSP文件中包含这些库。
四.JSTL和EL使用例子
1.保存数据
<c:set value="abc" scope="page" var="str"></c:set>
2.输出数据(如果数据为null,双标签中的内容为默认值,单标签需要设置default)
<c:out value="${str}">eee</c:out>
<c:out value="${str}">bcd</c:out>
<c:out value="${str}" default="123"/>
3.抛出异常与if的使用
<c:catch var="error">
<% int i = 100/0;%>
</c:catch>
<c:out value="${error}"/>
<c:if test="${empty error}">
没有异常
</c:if>
<c:if test="${error ne null}">
有异常
</c:if>
4.url的使用
<c:url value="http://www.baidu.com/s" var="u">
<c:param name="wd" value="007"></c:param>
</c:url>
<c:redirect url="${u}"></c:redirect>