一。JSTL(JavaServerPages Standard Tag Library)
JSP标准标签库
实现JSP页面中的逻辑控制
二。JSTL使用步骤
下载jstl.jar和standard.jar包
http://archive.apache.org/dist/jakarta/taglibs/standard/binaries/
将这两个包复制到WEB-INF\lib目录
在JSP页面中添加指令
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
JSTL 常用标签总结
1 <c:out>
2 <c:set>
3 <c:remove>
4 <c:if>
5 <c:forEach>
6 <c:import>
7 <c:url>
=====================================================
1 <c:out>
功能: <c:out>主要用来显示数据的内容
属性列表:
实例:使用核心标签库,并输出数据
<c:out value="${param.name}" default="welecome jgl to my website!"/>
<c:out value="${param.name}">welecome jgl to my website!</c:out>
<%--value 属性是必添的,escapeXml 属性是 true 时,不解析特殊字符,false 时,解析特殊 字符--%>
<c:out value="${param.name}"ecapeXml="false"><c:out></c:out>
2 <c:set>
功能: <c:set>主要用来将变量存储至 JSP 范围中或是 JavaBean 的属性或 Map 对象中。 属性列表:
实例 1:将变量设置到 Jsp 范围内,并输出
<%--将变量定义在 Jsp 范围内--%>
<%--value 属性的两钟使用方式--%>
<c:set var="username" value="jack" scope="session"/> <c:set var="pwd" scope="session">000</c:set>
<%--通过 el 表达式语言输出--%>
${sessionScope.username}
${sessionScope.pwd}
<%--通过 jstl 中<c:out>标签输出--%>
<c:out value="${sessionScope.username}"/>
实例 2:将变量设置到 javaBean 对象内,并输出
<jsp:useBean id="stu" class="net.pcedu.student"/>
<%--通过<c:set>标签给 javaBean 对象的 age 属性设值--%> <c:set value="16" target="${stu}" property="age"/> <%--输出 javaBean 对象的属性值--%>
年龄:<c:out value="${stu.age}"/>
3 <c:remove>
功能:主要负责移除变量
属性列表:
如:
<c:remove var="username" scope="session"/>
${sessionScope.username}—输不出结果
4 <c:if>
功能:主要用于进行 if 判断,如果为 true,则输出标签体中的内容
实例:利用<c:set>标签设置 javaBean 的属性 age,在 jsp 页面中获取 age,如果
age<18,输出相应信息
<%--通过<c:set>标签给 javaBean 对象的 age 属性设值--%> <c:set value="16" target="${stu}" property="age"/> <%--输出 javaBean 对象的属性值--%>
年龄:<c:out value="${stu.age}"/>
<%--当 if 判断为 true 时,输出标签体的内容--%>
<c:if test="${stu.age<18}" var="young" scope="session">对不起,未成年, 不能访问这个网站...</c:if>
<%--输出 if 语句的判断结果--%>
判断结果:<c:out value="${sessionScope.young}"/>
5 <c:forEach>
功能: <c:forEach>为循环控制,它可以将数组,集合(Collection)中的成员循序浏览一
遍。
属性列表:
实例:
<%@ page contentType="text/html;charset=gbk"%>
<%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c"%> <%@ page import="java.util.*,net.pcedu.core.UserInfo" %>
<%--将 javabean 对象存放到集合中--%>
<%
List users=new ArrayList();
for(int i=0;i<5;i++)
{
UserInfo u=new UserInfo();
u.setName("jack-"+i);
u.setPwd("00"+i);
users.add(u);
session.setAttribute("users",users);
}
%>
<%--注意:EL 中只可通过 11 个隐含对象来输出表达式中的内容(因此直接将 List 对象添加
到
EL 表达式中不可用)--%>
<%--通过<c:forEach>迭代出集合中的信息>--%> <h1>用户信息</h1>
<table>
<tr>
<th>用户名</th>
<th>密码</th>
<th>当前行的索引</th>
<th>已遍历的行数</th>
<th>是否第一行</th>
<th>是否最后一行</th>
</tr>
<c:forEach var="user" items="${users}" varStatus="status"><%--加上
begin="1" end="3" step="1"属性,将只显示前三条记录--%>
<tr>
<td><c:out value="${user.name}"/></td>
<td><c:out value="${user.pwd}"/></td>
<td><c:out value="${status.index}"/></td><%--输出当前行的索引号--%>
<td><c:out value="${status.count}"/></td><%--输出已遍历的行数--%>
<td><c:out value="${status.first}"/></td><%--输出当前行是否是第一行
--%>
<td><c:out value="${status.last}"/></td><%--输出当前行是否是最后一行
--%>
</tr>
</c:forEach>
</table>
<%--通过<c:forEach>输出从 1 到 10 的数据--%>
<c:forEach var="num" begin="1" end="10" step="2"> <c:out value="->${num}"></c:out>
</c:forEach>
<%--通过<c:forEach>遍历数组,枚举,集合等--%>
<%
int[]intarr=new int[]{10,20,30,40,50};
String[]strarr=new String[]{"I","am","a","handsome","boy"}; Vector v=new Vector();
v.add("This");
v.add("is");
v.add("a");
v.add("Enumeration");
v.add("example");
Enumeration e=v.elements();
HashMap h=new HashMap();
h.put("hello","0");
h.put("hello1","1");
h.put("hello2","2");
h.put("hello3","3");
h.put("hello4","4");
request.setAttribute("intarr",intarr); request.setAttribute("strarr",strarr); request.setAttribute("e",e);
request.setAttribute("h",h);
%>
<br>
<h1>--遍历整形数组--</h1>
<%--遍历整形数组--%>
<c:forEach var="i" items="${intarr}">
<c:out value="${i}"></c:out>
</c:forEach>
<br>
<h1>--遍历字符串数组--</h1>
<%--遍历字符串数组--%>
<c:forEach var="s" items="${strarr}">
<c:out value="${s}"></c:out>
</c:forEach>
<br>
<h1>--遍历枚举--</h1>
<%--遍历枚举--%>
<c:forEach var="ee" items="${e}">
<c:out value="${ee}"></c:out>
</c:forEach>
<br>
<h1>--遍历 HashMap--</h1>
<%--遍历 HashMap--%>
<c:forEach var="hh" items="${h}">
<c:out value="${hh.key}"/>=<c:out value="${hh.value}"/> </c:forEach>
6 <c:import>
功能: <c:import>可以把其他静态或动态文件包含至本身 JSP 网页。 属性列表:
注意:<c:import>与<jsp:include>的区别
<jsp:include>只能包含和自己同一个 Web 应用程序下的文件;而<c:import>除了能 包含和自己同一个 Web 应用程序的文件外,亦可以包含不同 Web 应程序或者是其
它网站的文件。
实例:包含同一个 web 应用程序的文件和不同 webweb 应用程序的文件
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core_rt" %>
<%@ page contentType="text/html; charset=gb2312" language="java" %> <%--引入绝对路径的文件--%>
<%--注意:被引入的文件将被解析为 html 的形式嵌入引用文件--%> <h1>引入绝对路径的文件</h1>
<c:import url="http://127.0.0.1:8080/test/c_beimported.jsp" var="file" charEncoding="gbk"/>
<blockquote>
<pre>
<c:out value="${file}"></c:out>
</pre>
</blockquote>
<%--引入相对路径的文件--%>
<h1>引入相对路径的文件</h1>
<blockquote>
<pre>
<c:import url="c_beimported.jsp" var="f"/> <c:out value="${f}"></c:out>
</pre>
</blockquote>
<%--传递参数到被引入文件--%>
<h1>传递参数到被引入文件</h1>
<blockquote>
<pre>
<c:import url="c_beimported.jsp" var="ff"> <c:param name="name" value="jack"/>
</c:import>
<c:out value="${ff}"></c:out>
</pre>
</blockquote>
7 <c:url>
功能: <c:url>主要用来产生一个 URL
实例: 将一个 url 存
放到一个变量中,并输出 url
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core_rt" %>
<%@ page contentType="text/html; charset=gb2312" language="java" %> <%--将一个 url 存放到一个变量中,并输出 url--%>
<c:url var="myurl" value="c_beimported.jsp" scope="session"> <c:param name="name" value="jgl"/>
</c:url>
<c:out value="${myurl}"/>
相关推荐
以上便是JSTL中一些常用标签的介绍和示例。值得注意的是,在使用这些标签时,需要在JSP页面的顶部引入JSTL标签库。如:***"%>。这样才能够正确地使用JSTL提供的标签功能。JSTL标签库在JSP开发中非常实用,可以大大...
### JSTL标签库概述及核心标签使用详解 JSTL(JavaServer Pages Standard Tag Library)是一组标准标签库,用于简化JSP页面的开发工作。JSTL提供了丰富的标签来处理各种常见的Web应用程序需求,如条件判断、循环、...
**JSTL(JavaServer Pages Standard Tag Library)标签库**是Java Web开发中常用的一组标准标签库,它提供了一套方便、高效的JSP页面控制和数据处理标签,旨在简化JSP开发,提高代码的可读性和可维护性。本篇文章将...
JSTL核心库(`core`)提供了许多常用的标签,例如: - `<c:forEach>`:用于循环遍历集合或数组。 - `<c:if>`和`<c:choose>`:条件判断标签,实现类似Java的if和switch语句。 - `<c:set>`:设置变量。 - `<c:out>`:...
**正文** ...总结来说,JSTL是Java Web开发中的重要组成部分,通过提供一系列预定义的标签,极大地提高了开发效率和代码质量。了解并熟练使用JSTL能够帮助开发者构建更加健壮、易于维护的Web应用程序。
JSTL常用标签示例:** - **`<c:forEach>`**: 用于迭代集合或数组。 ```jsp ${list}" var="item"> ${item.name} ``` - **`<c:if>`**: 条件判断。 ```jsp ${user.isAdmin}"> 欢迎管理员! ``` - **`<c:set>`**: ...
总结来说,JSTL是Java Web开发中不可或缺的一部分,它的核心标签库提供了控制结构,如条件判断、循环等,而SQL标签库则提供了与数据库交互的功能。学习和熟练使用JSTL,不仅可以提高代码的可读性和可维护性,还能...
其中包含以下常用标签: - `<c:if>`:条件判断,允许根据指定的表达式的值决定是否执行某个代码块。 - `<c:choose>`, `<c:when>`, `<c:otherwise>`:多分支选择结构,类似于Java的switch语句。 - `<c:forEach>`:...
标题“jstl标签帮助文档”和描述表明,这份文档是一份关于JSP页面标签库中常用标签的详细帮助文档,并附有学习笔记。文档是英文版的,可以推断它是对JavaServer Pages™ Standard Tag Library (JSTL) 的详细介绍。 ...
### JSTL标签库知识点详解 #### 1. JSTL简介 JSTL(JSP Standard Tag Library,JSP标准标签库)是由Sun Microsystems公司发布的一种针对JSP(Java Server Pages)页面开发的新组件。它允许开发者使用预定义的标签...
**JSTL(JavaServer Pages Standard Tag Library)标签库**是Java Web开发中常用的一种工具,它为JSP页面提供了一套标准的标签,用于简化HTML和Java代码的交互,提高开发效率。JSTL主要由四个核心部分组成:Core、...
**JSTL(JavaServer Pages Standard Tag Library)标签库**是Java Web开发中常用的一组预定义标签,它简化了JSP页面中的编程,使得页面更加简洁,易于维护。JSTL提供了许多功能,包括核心标签、XML处理、SQL操作以及...
**JSTL(JavaServer Pages Standard Tag Library)标签库**是Java Web开发中常用的一组标准标签库,它为JSP页面提供了一种简洁、高效的方式来处理常见的任务,如迭代、条件判断、XML处理等。这个`jstl.jar`和`...
总结:JSTL是JSP开发的强大工具,提供了诸如循环、条件判断、字符串操作等实用功能,并允许开发者创建自定义标签以满足特定需求。理解并熟练使用这些语法将极大地提高JSP页面的可读性和维护性。
下面主要介绍核心标签库(Core)的一些常用标签及其用法。 ##### 1. `<c:out>` - **用途**:用于输出内容到客户端。 - **示例**: ```jsp ${someValue}" /> ``` ##### 2. `<c:if>` - **用途**:用于条件渲染。 ...
JSTL(JavaServer Pages Standard Tag Library)是Java服务器页面标准标签库,它提供了一套用于处理常见任务的JSP标签,旨在简化JSP开发,提高代码的可读性和可维护性。JSTL1.2是这个库的一个版本,相较于早期版本,...
C标签库包含了多个常用的标签,如`<c:if>`, `<c:choose>`, `<c:when>`, `<c:otherwise>`, `<c:forEach>`, `<c:set>`, `<c:remove>`等。这些标签帮助开发者在JSP页面中实现条件判断、循环、变量设置和删除等功能,...
以下是Core标签库中几个常用标签的简要说明: - **`<c:if>`** - 用于根据条件执行代码块。 - **`<c:choose>`** - 用于多分支选择。 - **`<c:when>`** - 与`<c:choose>`配合使用,表示当某个条件为真时执行的代码块...
总结来说,JSTL是Java Web开发中的重要工具,它提供了丰富的标签来处理各种Web编程任务,让JSP页面更易于理解和维护。通过学习和熟练使用JSTL,开发者可以提升项目开发的效率和质量。"JSTL入门帮助文档"会详细讲解...