目录
EL
EL语法
EL运算符
JSTL
JSTL标签分类
JSP脚本:代码结构混乱、脚本与HTML 混合易出错、代码不易维护。
EL表达式:优化程序代码,增加程序可读性。
EL
EL语法
- EL表达式
${ EL 表达式 }
- EL操作符
操作符“ . ”
- 获取对象的属性,eg:${ news.title }
操作符"[ ] "
- 获取对象的属性,eg:${ news["title"]}
- 获取集合中的对象,eg:${ newsList[0] }
EL中严格区分大小写!!!
EL运算符
运算符 |
说明 |
( ) |
改变执行的优先级,例如${3*(4+5)} |
+,-,*,/,% |
算术运算符,例如${3+2} |
==,!=,>,>=,<,<= |
关系运算符,例如${a==b}或${a eq b} |
&&,||,! |
逻辑运算符,例如${true&&false} |
?: |
条件运算符,例如${a>b?1:2} |
empty |
用于检测变量名是否为空,是否等于NULL,例如${empty name} |
关系运算符
关系运算符 |
范例 |
结果 |
== 或 eq |
${5 == 5}或${5 eq 5} |
true |
!= 或 ne |
${5 != 5}或${5 ne 5} |
false |
< 或 lt |
${3 < 5}或${3 lt 5} |
true |
> 或 gt |
${3 > 5}或{3 gt 5} |
false |
<= 或 le |
${3 <= 5}或${3 le 5} |
true |
>= 或 ge |
${3 >= 5}或${3 ge 5} |
false |
EL功能
-
取得JavaBean对象的属性
- ${news.title}
-
取得数组、List、Map类型对象的元素
- ${list[0]}
-
使用各类运算符对原始数据进行简单处理
- ${totalRecordCount/pageSize}
-
屏蔽一些常见的异常
- ${username}
-
能实现简单的自动类型转换
- ${news}相当于(News)request.getAttribute("news")
EL访问作用域
request.setAttribute("news", news);
两种方式取数据:
使用Java小脚本:request.getAttribute("news");
使用EL表达式: ${ news } 或者 ${ requestScope.news }
作用域 |
Java代码取值 |
EL取值 |
请求作用域 |
request.getAttribute("news"); |
${ requestScope.news } |
会话作用域 |
session.getAttribute("username"); |
${ sessionScope.username } |
程序作用域 |
application.getAttribute("count"); |
${ applicationScope.count } |
页面作用域 |
pageContext.getAttribute("userNum"); |
${ pageScope.userNum } |
JSTL
- JSP标准标签库
- 实现JSP页面中的逻辑控制
使用步骤
- 下载jstl.jar和standard.jar包
- http://archive.apache.org/dist/jakarta/taglibs/standard/binaries/
- 将这两个包复制到WEB-INF\lib目录
-
在JSP页面中添加指令
- <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
JSTL标签分类
标签库名称 |
资源标示符(uri) |
前缀(prefix) |
核心标签库 |
http://java.sun.com/jsp/jstl/core |
c |
国际化/格式化标签库 |
http://java.sun.com/jsp/jstl/fmt |
fmt |
XML标签库 |
http://java.sun.com/jsp/jstl/xml |
x |
数据库标签库 |
http://java.sun.com/jsp/jstl/sql |
sql |
函数标签库 |
http://java.sun.com/jsp/jstl/functions |
fn |
核心标签库
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
国际化 / 格式化标签库
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
<c:out/>标签
<c:out value="value" default="default" escapeXml="true|false" />
设置变量
<c:set var="name" value= "value" scope="" />
设置对象属性
<c:set value= "value" target="target" property="propertyName" />
<c:forEach/>标签:实现对集合的遍历
<c:forEach var="varName" items="items" varStatus="varStatus">
……
</c:forEach>
<c:if/>标签:实现条件的判断
<c:if test="condition" var="varName" scope="scope">
……
</c:if>
用于复杂判断的 <c:choose> 、 <c:when> 、<c:otherwise> 标签 :
类似与if、else if 条件语句
----------------------------------------------------------------------
使用JSTL构建URL(没啥用):
<c:url/>超链接标签
<c:url value="url" />
<c:param/>参数标签
<c:param name="name" value="value"/>
<c:import/>导入标签
<c:import url="URL" />
----------------------------------------------------------------------
<fmt:formatDate/>标签:实现格式化的日期和时间显示
<fmt:formatDate value="date" pattern="yyyy-MM-dd HH:mm:ss"/>
标签名称 |
作用 |
<c:out /> |
输出文本内容到out对象,常用于显示特殊字符,显示默认值 |
<c:set/> |
在作用域中设置变量或对象属性的值 |
<c:remove/> |
在作用域中移除变量的值 |
<c:if/> |
实现条件判断结构 |
<c:forEach/> |
实现循环结构 |
<c:url/> |
构造url地址 |
<c:param/> |
在url后附加参数 |
<c:import/> |
在页面中嵌入另一个资源内容 |
<fmt:formatDate/> |
格式化时间 |
<fmt:formatNumber/> |
格式化数字 |
----------------------------------------------------------------------
文章来源:https://www.toymoban.com/news/detail-672134.html
文章来源地址https://www.toymoban.com/news/detail-672134.html
到了这里,关于EL与JSTL的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!