大家好,欢迎来到IT知识分享网。
EL表达式
JSTL标签
EL(Expression Language)表达式语言
EL的作用是简化JSP的开发,让我们更方便的进行数据的读取(从application、session、request、pageContext)
语法:
${表达式}
如:读取session中的name属性
Java脚本输出:
<%= session.getAttribute(“name”)%>
EL:
${name}
读取对象属性的方法:
Java脚本:
<%= user.getName()%>
EL:
${user.name} 或
${user[“name”]}
问题:如果在JSP的application、session、request、pageContext对象中都保存了num参数
那么EL表达式${num}会读取哪个num呢?
EL表达式的查找顺序是从最小范围开始找:
pageContext -> request -> session -> application -> null
域对象:可以指定读取数据的范围
域对象 对应的JSP对象
pageScope pageContext
requestScope request
sessionScope session
applicationScope application
${域对象.表达式}
如:
读取页面中的num参数:
${pageScope.num}
JSTL(Java Standard Tag Library)Java标准标签库
作用是将JSP中的Java脚本和HTML代码分开,将Java封装到标签中,在页面调用。
使用方法:
1、导入jar包
2、在JSP页面中加入taglib指令
<%@ taglib uri=”http://java.sun.com/jsp/jstl/core” prefix=”c”%>
3、使用标签
<c:标签名 属性=”值”>
核心标签的使用:
输出标签
<c:out value=“输出内容”></c:out>
赋值标签
<c:set var=”变量名” value=“值”></c:set>
示例:
<c:set var=”num” value=”999″></c:set>
<c:out value=”num=${num}”></c:out>
删除变量标签
<c:remove var=”变量名”>
异常处理标签
<c:catch var=”ex”>
可能有异常出现的内容
</c:catch>
示例:
<c:catch var=”ex”>
<%int n = 6 / 0; %>
</c:catch>
<br>
<c:if test=”${ex != null}”>
<h3>异常:${ex}</h3>
</c:if>
if标签
<c:if test=”EL表达式”>
HTML代码
</c:if>
示例:
<c:if test=”${num > 500}”>
<h3>${num }大于500</h3>
</c:if>
choose标签
多重判断
<c:choose>
<c:when test=”${条件}”>
HTML代码
</c:when>
<c:when test=”${条件}”>
HTML代码
</c:when>
…
<c:otherwise>
HTML代码
</c:otherwise>
</c:choose>
示例:
<c:choose>
<c:when test=”${score>=90 }”>
${score }属于A级
</c:when>
<c:when test=”${score>=80 }”>
${score }属于B级
</c:when>
<c:when test=”${score>=70 }”>
${score }属于C级
</c:when>
<c:when test=”${score>=60 }”>
${score }属于D级
</c:when>
<c:otherwise>
${score }属于E级
</c:otherwise>
</c:choose>
forEach标签
实现循环的标签
用法1:
<c:forEach var=”循环变量” begin=”初始值” end=”结束值” step=”增长量”>
HTML代码
</c:forEach>
示例:
<c:forEach var=”i” begin=”1″ end=”10″ step=”1″>
<p style=”font-size:${i + 10}px”>这是段落${i}</p>
</c:forEach>
用法2:
<c:forEach var=”循环变量” items=”${集合或数组名}”>
HTML代码
</c:forEach>
示例:
<c:forEach var=”user” items=”${users}”>
<p>${user.name } – ${user.age }</p>
</c:forEach>
总结:本章我们学习了JSP开发的两个强大工具,EL表达式让我们能用简洁的语法读取JSP对象中的值;而JSTL标签库让HTML代码和Java代码实现了分离,从而提高了JSP代码的可维护性,也让JSP开发变得更加简单。
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/59948.html