龙空技术网

JavaWeb之EL表达式和JSTL标签

谁的大数据 432

前言:

现在兄弟们对“el表达式html”大致比较珍视,你们都需要剖析一些“el表达式html”的相关资讯。那么小编也在网络上收集了一些关于“el表达式html””的相关知识,希望大家能喜欢,我们快快来了解一下吧!

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="" 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开发变得更加简单。

标签: #el表达式html