JSTL标签(转载)
JSTL标签是一个实现web功能的定制标签库,包括输出功能,条件判断,循环等,使用JSTL标签,为动态编写WEB应用程序提供了很大的方便性,能很好的和Java语言和HTML进行结合。下面我们看看jstl标签的用法
下载jar包 http://archive.apache.org/dist/jakarta/taglibs/standard/binaries/ ,jstl包括两个jar包,standard.jar和jstl.jar包,把这两个JAR包添加到项目中,这样JSTL必须的环境就搭建好了
使用EL表达式,我们可以动态的在页面中输出变量,EL表达式的使用 ${变量}
[html] view plain copy
-
<!-- EL表达式用法 -->
-
<%session.setAttribute("skuname", "白色运动鞋"); %>
-
${skuname}
-
${3+5}
out标签是JSTL中使用最多,最常用的标签。在使用JSTL标签的时候,要在页面中引入组件,添加如下标签
[html] view plain copy
-
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
[html] view plain copy
-
<%session.setAttribute("skuname", "白色运动鞋"); %>
-
${skuname}
-
${3+5}
-
<c:out value="${skuname}"></c:out>
-
<c:out value="商品名称"></c:out>
通过SET标签,可以动态定义变量,并赋值,还可以为javabean对象赋值
[html] view plain copy
-
<!-- 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对象
[html] view plain copy
-
<jsp:useBean id="category" class="dto.Category"></jsp:useBean>
[html] view plain copy
-
<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表示对象值
Remove是一个删除标签,可以删除页面中定义的变量,
[html] view plain copy
-
<c:set value="50" var="num" scope="session"> </c:set>
-
<c:out value="${num}"></c:out>
catch主要用来捕捉异常。
[html] view plain copy
-
<c:catch var="result">
-
<c:set target="${ss}" property="name" value="太阳镜"></c:set>
-
</c:catch>
-
<c:out value="${result}"></c:out>
-
<Br/>
if标签主要用来条件判断。
[html] view plain copy
-
<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和IF标签一样,也用来做条件判断,可以根据指定的条件进行不同的跳转
[html] view plain copy
-
<!-- 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>
foreach标签主要用来循环
[html] view plain copy
-
<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>
forToken主要用来分隔字符串
[html] view plain copy
-
<!-- forToken标签 -->
-
<c:forTokens items="1,2,3" delims="," var="item">
-
<c:out value="${item}" ></c:out>
-
</c:forTokens>
[objc] view plain copy
-
<!-- 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>
全部代码如下
[java] view plain copy
-
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;
-
}
-
-
-
}
[html] view plain copy
-
<%@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>