Spring Mvc那点事---(16)Spring Mvc之JSTL标签

本文详细介绍了JSTL标签库的使用方法,包括环境搭建、EL表达式、out标签、set标签、remove标签、catch标签、if标签、choose标签、foreach标签、forTokens标签以及其他常用标签的使用。
摘要由CSDN通过智能技术生成

    JSTL标签是一个实现web功能的定制标签库,包括输出功能,条件判断,循环等,使用JSTL标签,为动态编写WEB应用程序提供了很大的方便性,能很好的和JAVA语言和HTML进行结合。下面我们看看jstl标签的用法

1.环境搭建

    下载jar包  http://archive.apache.org/dist/jakarta/taglibs/standard/binaries/ ,jstl包括两个jar包,standard.jar和jstl.jar包,把这两个JAR包添加到项目中,这样JSTL必须的环境就搭建好了

2. EL表达式

    使用EL表达式,我们可以动态的在页面中输出变量,EL表达式的使用 ${变量}

    

<!-- EL表达式用法 -->
<%session.setAttribute("skuname", "白色运动鞋"); %>
${skuname}
${3+5}

3. out标签

     out标签是JSTL中使用最多,最常用的标签。在使用JSTL标签的时候,要在页面中引入组件,添加如下标签

 <%@taglib  uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>   
   
<%session.setAttribute("skuname", "白色运动鞋"); %>
${skuname}
${3+5}
<c:out value="${skuname}"></c:out>
<c:out value="商品名称"></c:out>

4. set标签

   通过SET标签,可以动态定义变量,并赋值,还可以为javabean对象赋值

 

<!-- set标签用法 -->
<c:set value="0002" var="skucode" scope="session"> </c:set>
<c:out value="${skucode}"></c:out>

<c:set  var="skuname" scope="session">太阳镜 </c:set>
<c:out value="${skuname}"></c:out>
    给JAVABEAN对象赋值,在页面中引入JAVA对象

 

<jsp:useBean id="category" class="dto.Category"></jsp:useBean>
<Br/>
<!-- 给JAVA对象赋值 -->
<c:set target="${category}" property="name" value="太阳镜"></c:set>
<c:out value="${category.name}"></c:out>

<c:set target="${category}" property="catcode" value="00008"></c:set>
<c:out value="${category.catcode}"></c:out>
 target表示对象

property表示对象属性

value表示对象值

5.Remove标签 

    Remove是一个删除标签,可以删除页面中定义的变量,

  

<c:set value="50" var="num" scope="session"> </c:set>
<c:out value="${num}"></c:out>

6.Catch标签

  catch主要用来捕捉异常。
 

<c:catch var="result">
<c:set target="${ss}" property="name" value="太阳镜"></c:set>
</c:catch>
<c:out value="${result}"></c:out>
<Br/>

7.IF标签

   if标签主要用来条件判断。

  

<c:if test="${count>5}" var="info">
 <c:out value="数量大于5"></c:out>
</c:if>
 <c:out value="${info}"></c:out>
 <c:out value="${count}"></c:out>
 <Br/>

8.choose

    choose和IF标签一样,也用来做条件判断,可以根据指定的条件进行不同的跳转

  

 <!-- choose标签 -->
 <c:choose>
     <c:when test="${count>5}">
     <c:out value="优秀"></c:out>
     </c:when>
      <c:when test="${count<0}">
     <c:out value="差"></c:out>
     </c:when>
     <c:otherwise>
        <c:out value="一般" ></c:out>
     </c:otherwise>
 </c:choose>

9. foreach标签

   foreach标签主要用来循环

  

<Br>
 <!-- foreach标签 -->
 
 <Br>
 
 <%
 List<String> list=new ArrayList<String>();
 list.add("优秀");
 list.add("一般");
 list.add("差");
 request.setAttribute("list", list);
 %>
 
 <c:forEach var="item" items="${list}" >
  <c:out value="${item}" ></c:out>
 </c:forEach>

10.forToken

      forToken主要用来分隔字符串

   

 <!-- forToken标签 -->
  <c:forTokens items="1,2,3" delims="," var="item">
  <c:out value="${item}" ></c:out>
  </c:forTokens>
 

11.其他标签

  

<!-- import标签 -->
 <c:import url="http://www.jd.com/"></c:import>
 
 <!-- redirect标签 -->
 <c:redirect url="http://www.jd.com/">
 
 </c:redirect>
 
  <!-- url标签 -->
  
  <c:url value="http://www.jd.com/"  var="link">
    
  </c:url>
   <A href="${link}">链接地址</A>

全部代码如下

package dto;

public class Category {

	private String catcode;
	
	public String getCatcode() {
		return catcode;
	}

	public void setCatcode(String catcode) {
		this.catcode = catcode;
	}

	private String name;
	

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}


}
<%@page import="java.util.ArrayList"%>
<%@page import="java.util.List"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>

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

<jsp:useBean id="category" class="dto.Category"></jsp:useBean>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>

<!-- EL表达式用法 -->
<%session.setAttribute("skuname", "白色运动鞋"); %>
${skuname}
${3+5}
<c:out value="${skuname}"></c:out>
<c:out value="商品名称"></c:out>
<Br/>
<!-- set标签用法 -->
<c:set value="0002" var="skucode" scope="session"> </c:set>
<c:out value="${skucode}"></c:out>

<c:set  var="skuname" scope="session">太阳镜 </c:set>
<c:out value="${skuname}"></c:out>

<Br/>
<!-- 给JAVA对象赋值 -->
<c:set target="${category}" property="name" value="太阳镜"></c:set>
<c:out value="${category.name}"></c:out>

<c:set target="${category}" property="catcode" value="00008"></c:set>
<c:out value="${category.catcode}"></c:out>


<Br/>

<!-- Remove标签 -->

<c:set value="50" var="num" scope="session"> </c:set>
<c:out value="${num}"></c:out>

<Br/>
<!-- catch标签 -->
<c:catch var="result">
<c:set target="${ss}" property="name" value="太阳镜"></c:set>
</c:catch>
<c:out value="${result}"></c:out>
<Br/>

<!-- if标签 -->
<%int count=10; request.setAttribute("count",count);%>

<c:if test="${count>5}" var="info">
 <c:out value="数量大于5"></c:out>
</c:if>
 <c:out value="${info}"></c:out>
 <c:out value="${count}"></c:out>
 <Br/>
 
 <!-- choose标签 -->
 <c:choose>
     <c:when test="${count>5}">
     <c:out value="优秀"></c:out>
     </c:when>
      <c:when test="${count<0}">
     <c:out value="差"></c:out>
     </c:when>
     <c:otherwise>
        <c:out value="一般" ></c:out>
     </c:otherwise>
 </c:choose>
 
 <Br>
 <!-- foreach标签 -->
 
 <Br>
 
 <%
 List<String> list=new ArrayList<String>();
 list.add("优秀");
 list.add("一般");
 list.add("差");
 request.setAttribute("list", list);
 %>
 
 <c:forEach var="item" items="${list}" >
  <c:out value="${item}" ></c:out>
 </c:forEach>
 
 <Br>
 <!-- forToken标签 -->
  <c:forTokens items="1,2,3" delims="," var="item">
  <c:out value="${item}" ></c:out>
  </c:forTokens>
 
 <!-- import标签 -->
 <c:import url="http://www.jd.com/"></c:import>
 
 <!-- redirect标签 -->
 <c:redirect url="http://www.jd.com/">
 
 </c:redirect>
 
  <!-- url标签 -->
  
  <c:url value="http://www.jd.com/"  var="link">
    
  </c:url>
   <A href="${link}">链接地址</A>
 
</body>
</html>






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值