JSP学习之JSTL表达式详解

JSTL标签库的介绍

  • 什么是JSTL标签库?
    JSTL是Apache对EL表达式的扩展(也就是说JSTL依赖EL),JSTL是标签语言!JSTL标签使用起来非常方便,它与JSP动作标签一样,只不过它不是JSP内置的标签,需要我们自己导包,以及指定标签库而已!
    如果你使用MyEcplise开发JavaWeb,那么在把项目发布到Tomcat时,你会发现,MyEcplise会在lib目录下存放JSTL的jar包!如果你没有使用MyEcplise开发那么需要自己来导入这个JSTL的jar包:jtsl-1.2.jar。
  • JSTL标签库的作用
    用来提升在JSP页面的逻辑代码的编码效率,使用标签来替换逻辑代码的直接书写,高效、美观、整洁、易读。
  • 使用JSTL标签库
    核心标签库(重点学习)
    格式化标签库(讲解)
    SQL标签库(了解)
    函数标签库(了解)
    XML标签库(了解)
    菜鸟教程JSTL

JSTL标签库使用

  • JSTL核心标签库
    1、 导入jar包;
    2、 声明JSTL标签库的引入(核心标签库)
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

3、 (基本标签)c:out

<c:out value="${键名}" default="默认值"></c:out>

4、 (基本标签)c:set

<c:set value="hello pageContext" var="hello" scope="page"></c:set>
Var:表示要存储的键名
Value:表示存储的数据
Scope:表示要存储的作用域对象 page(默认) request session application

5、 (基本标签)c:remove

作用:删除作用域中的指定键的数据;
<c:remove var="hello" scope="request"/>
Var:键名
Scope:表示要删除的作用(可选)

注意:
	如果在不指定作用域的情况下使用该标签删除数据,会将四个作用域对象中的符合要求的数据
全部删除。

6、 (逻辑标签)c:if

作用:进行逻辑判断,相当于java代码的单分支判断(if…)

<c:if test="${表达式 }">
	<b>前端代码,网页语句</b>
</c:if>
注意:	
	jstl要依赖于el,表达式所取的值必须是作用域中有的。可以用 c:set 标签

7、 (逻辑标签)c:choose

作用:进行逻辑判断,相当于java中的多条件的逻辑判断,类似(if…else if…else…)

<c:choose>
<c:when test="${score>=90 }">执行内容</c:when>
。。。
<c:otherwise>执行内容</c:otherwise>
</c:choose>
注意:条件成立指挥执行一次,都不成立则执行otherwise

8、 (循环标签)c:foreach

作用:循环内容进行处理

(一)常量循环:

<c:forEach begin="0" end="5" step="1" varStatus="vs" >
	${vs.index }---${vs.count }---${vs.first }---${vs.last} <br>
</c:forEach> 
begin:声明循环开始位置
End:声明循环结束位置
Step:步长,默认1
varStatus:
	声明变量记录每次循环的数据(角标,次数,是否是第一次循环,是否是最后一次循环)
注意:
	数据存储在作用域中,需要使用EL表达式获取

(二)动态循环:数组或集合

<c:forEach items="${list }" var="str">
		${str }<br>
</c:forEach>
Items:
	声明要遍历的对象,结合EL表达式获取对象
Var:
	声明变量记录每次循环的结果(当前遍历到的数据或对象)。存储在作用域中,需要使用EL
表达式获取。

如果是map数据。可以通过${键名.key}、${键名.value}获取对应的键和值
  • JSTL格式化标签库
    1、 导入jar包
    2、 声明JSTL标签库引入(格式化标签库)
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
  • JSTL的functions标签
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>

获取list的长度:${fn:length(list)}

3、 使用菜鸟教程查看

发布了46 篇原创文章 · 获赞 11 · 访问量 3902

猜你喜欢

转载自blog.csdn.net/qq_42197800/article/details/93381356
今日推荐