JSTL标签介绍与使用详解

来源:互联网 发布:linux的vi命令 编辑:程序博客网 时间:2024/06/01 13:37
什么是JSTL

JSTL(JavaServerPages Standard Tag Library)JSP标准标签库

JSTL通常会与EL表达式合作实现JSP页面的编码

使用JSTL的步骤
创建Web工程,选择JSTL1.1
在JSP页面添加taglib指令
使用JSTL标签

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





通用标签的使用
set:设置指定范围内的变量值
out:计算表达式并将结果输出显示
remove:删除指定范围内的变量


<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <body><c:set var= "example" value="${100+1}" scope="session"  /><c:out value="${example}"/><c:remove var= "example" scope="session"/></body>

注:

set 标签用于给变量 ,设置值和作用范围

scope= "page|request|session|application" 

out 标签在页面上显示信息或变量值 

remove 标签用于删除作用域内的变量


通用标签的应用:


<body><!-- 设置之前应该是空值 -->设置变量之前的值是:msg=<c:out value="${msg}" default="null"/><!-- 给变量msg设值 --><c:set var="msg" value="Hello ACCP!" scope="page"></c:set><!-- 此时msg的值应该是上面设置的"已经不是空值了" -->设置新值以后:msg=<c:out value="${msg}"></c:out><br><!-- 把 msg变量从page范围内移除--><c:remove var="msg" scope="page"/><!-- 此时msg的值应该显示null -->移除变量msg以后:msg=<c:out value="${msg}“ default="null"></c:out></body>


条件标签的使用
if:if标签用于判断条件是否成,与Java中的If语句做用用相同
语法

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%><c:if   test="codition"    var="name"    scope="applicationArea" >…</c:if>

判断登陆:
<body><c:set var="isLogin" value="${not empty sessionScope.userId}"/><c:if test="${not isLogin}">…登录表单 使用条件标签判断是否已登录</form></c:if><c:if test="${isLogin}">已经登录!</c:if></body>
 迭代标签
实现对集合中对象的遍历


语法

<c:forEach     items=collection         var=name    begin=start   end=end  step=count>…循环体代码…</forEach>


items指定要遍
历的集合对象

var指定集合内数据的变量名称

begin指定从集合的第几位开始

end指定迭代到集合的第几位结束

Step指定迭代的增量

   forEach是for循环语句的变体,实现   
  集合对象(可以是list、数组等)的处理 


 迭代标签
指定迭代的次数
语法

<c:forEach   var="varName"     varStatus="vatStatusName"    begin="start"   end="end"  step="count">…循环体代码…</forEach>

 forEach是for循环语句的变体,实现   
  集合对象(可以是list、数组等)的处理 


通过迭代标签显示商品列表

<%List products = GoodsDao.getAllProducts();request.setAttribute("products", products);%>…<!-- 循环输出商品信息 --><c:forEach var="product" items="${requestScope.products}" varStatus="status"><!-- 如果是偶数行,为该行换背景颜色 -->    <tr <c:if test="${status.index % 2 == 1 }">style="background-color:rgb(219,241,212);"</c:if>>        <td>${product.name }</td>        <td>${product.area }</td>        <td>${product.price }</td>    </tr></c:forEach>


0 0
原创粉丝点击