淘先锋技术网

首页 1 2 3 4 5 6 7

JSTL标签库

1.什么是JSTL标签库
JSTL是apache对EL表达式的扩展,JSTL是标签语言,需要我们自己导包,以及制定标签库
myEclipse不需要导入jstl-1.2.jar

JSTL的核心标签库:
1.导入jar包

jstl-1.2.jar

2.声明jstl标签库的引入(核心标签库)

<%@taglib prefix=“c” uri=“http://java.sun.com/jsp/jstl/core” %>

3.内容:
基本标签:

<c:out value=“数据” default=“默认值”></c:out>
数据可以为常量值也可以是El表达式
作用:将数据输出给客户端

 <%  request.setAttribute("str", "胖纸");  %>	
 <c:out value="${str2}"  default="请登录"></c:out>

<c:set var=“键名” value=“存储的数据” scope=“page为默认”></c:set>
作用:存储数据到作用域对象中
var:表示存储的键名
value:表示存储的数据
scope:表示要存储的作用域对象page request session application

<c:set var="hello" value="hello pageContext" scope="page"></c:set>

<c:remove var=“hello” scope=“page”/>
作用:删除作用域中的指定键的数据
var,表示要删除的键的名字
scope:表示要删除的作用域(可选)
注意:
如果在不指定作用域的情况使用该标签删除数据,会将四个作用域对象中符合要求的数据全部删除

逻辑标签:

<c:if test="${表达式}"> 前端代码 </c:if> 作用:进行逻辑判断,相当于java代码的分支判断 注意:
逻辑判断标签需要依赖于EL的逻辑运算,也就是表达式中设计到的数据必须从作用域中获取

<!-- 逻辑标签 -->
<c:set var="a" value="4"></c:set>
<c:if test="${a>3}">
<b>今天天气真热</b>
</c:if>

<c:choose> <c:when test="">执行内容</c:when> <c:when
test="">执行内容</c:when> … <c:otherwise>执行内容</c:otherwise>
</c:choose> 作用:用来进行多条件的逻辑判断,类似java中的多分钟语句
注意:条件成立只执行异常,都不成立则执行otherwise

<c:set var="score" value="85">
</c:set> <c:choose>
 <c:when test="${score>=90}">
 <i>奖励烤羊</i> 
 </c:when> 
 <c:when test="${score<90&&score>=70}">
  <i>奖励大螃蟹</i>
   </c:when> 
   <c:otherwise>
<i>挨揍</i> 
</c:otherwise>
 </c:choose>

循环标签

<c:forEach begin=“0” end=“4” step=“1” varStatus=“vs”>
循环体— v s . i n d e x − − {vs.index}-- vs.index{vs.count}– v s . f i r s t − − {vs.first}-- vs.first{vs.last}

</c:forEach>
作用:循环内容进行处理
使用:
begin:声明循环开始位置
end:声明循环结束的位置
step:设置步长(每次循环自增的长度)
varStatus:声明变量记录每次循环的数据(角标,次数,是否是第一次循环,是否是最后一次循环)
注意:数据存储在作用域中,需要使用El表达式获取

<!-- 动态循环 -->
<c:forEach items="${list}" var="str">
${str}<br/>
</c:forEach>

items:声明要遍历的对象,结合EL表达式多去对象
var:声明变量记录每次循环的结果,存储在作用域中,需要使用EL表达式获取