介绍
JSTL(JSP Standard Tag Library,JSP标准标签库),是一个开放源代码的JSP标签库。在JSTL中封装了许多JSP开发中的常用功能,其目的是使得JSP代码中没有scriptlets。
考试中对该部分的考试比较多,但是都不难,主要是考查用法,只要把常见的几个标签的用法记住了,基本上就没问题了。
常用标签
1)<c:out>:该标签可以把计算的结果输出给JSP Writer对象,可以包含body,但是body的内容不会发送给客户端,具体形式为:
<c:out value="" default="" escapeXml="" />
其中escapeXml表示是否支持字符转换,默认为true;value则是必须的,表示输出的值;default表示value为null时默认的输出值,如:
<c:out value="Hello world" />
2)<c:set>:该标签用于在某个范围(page/request/session/application)中设置某个值,或者设置某个对象的属性,具体的形式有:
a)<c:set value="value" var="varName" scope="" />
b)<c:set var="varName" scope="">body content</c:set>
c)<c:set value="value" property="propertyName" target="target" />
d)<c:set property="propertyName" target="target" >body content</set>
其中前两个是设置某个值,而后两个是设置某个对象的属性值,如:
<c:set value="zhouych" var="username" scope="page" />
<c:out value="${username}" />
<!-- 设置对象的属性值 -->
<jsp:useBean id="user" class="bean.User" scope="page" />
<c:set target="${user}" property="userName" value="zhouych" />
<c:out value="${user.userName}" />
3)<c:remove>:该标签用于删除某个变量或者属性。
4)<c:catch>:该标签可以获取嵌套在其中的标签所抛出的异常。
条件标签
1)<c:if>:该标签用于条件判断,如果其test属性为true,则计算它的body,其形式为:
<c:if test="" var="" scope="">body content</c:if>
属性test是必须的,如:
<c:if test="${10 < 20}" >10 小于 20</c:if>
2)<c:choose>:该标签用于条件选择,一般结合<c:when>和<c:otherwise>一起使用,其形式为:
<c:choose>body content</c:choose>
注意其body只能是空格、<c:when>标签或<c:otherwise>标签。
3)<c:when>:该标签表示一个条件分支,必须以<c:choose>作为父标签,而且必须出现在<c:otherwise>之前。
4)<c:otherwise>:该标签代表了<c:choose>最后的选择,必须以<c:choose>作为父标签,如:
<c:choose>
<c:when test="${10 < 20}" >10 小于 20</c:when>
<c:otherwise>10 大于 20</c:otherwise>
</c:choose>
迭代标签
1)<c:forEach>:该标签可以在一个包括一系列对象的Collection中迭代计算其标签体。其形式为:
<c:forEach var="" items="" begin="" end="" step="">body content</c:forEach>
items指将要迭代的items的集合,迭代次数也根据这个设定,另外也可以使用属性begin和end来指定迭代次数,如:
<c:forEach var="users" items="${ysers}">
<tr>
<td><c:out value="${users.username}" /></td>
<td><c:out value="${users.password}" /></td>
</tr>
</c:forEach>
2)<c:forTokens>:该标签专门用来处理TokenString的迭代,可以指定一个或多个分割符(delimiters)。其形式为:
<c:forTokens items="" delims="">body content</c:forTokens>
虽然<c:forEach>也能处理TokenString,但是<c:forTokens>更加强大,如:
<c:forTokens url="token" items="green|red|blue|white" delims="|">
<c:out value="${token}" />
</c:forTokens>
URL标签
1)<c:import>:该标签导入一个基于URL的资源,考查得比较多,其形式为:
<c:import url="" />
2)<c:redirect>:该标签可以把用户的请求重定向到另一个资源。
3)<c:url>:该标签用来构造URL,主要用来重写URL,其形式为:
<c:url value="" var="" context="" scope="" />
使用得比较多的是value属性,如:
<a href="<c:url value="header.jsp" />">头文件</a>
4)<c:param>:该标签用来在上述几个标签中添加请求的参数。
标准标签库开发
标准标签库开发的原理其实跟自定义标签开发一样,只不过不用自己再去编写标签的实现类和标签描述性文件,只需要在项目中引入jstl.jar库文件和standard.jar库文件即可(见附件),在项目中的WEB-INF/lib文件夹下导入这两个库文件,然后编写JSP页面如下
<%@page contentType="text/html" pageEncoding="gb2312"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head>
<title>JSP Page</title>
</head>
<body>
<c:out value="hello world" />
</body>
</html>
在浏览器里该页面将输出hello world。
分享到:
相关推荐
标题“SCWCD之路——前言”暗示了这是一个关于SCWCD(Sun Certified Web Component Developer)认证的学习历程或指南的开篇部分。SCWCD是Java EE(现在称为Jakarta EE)开发人员的一个专业认证,它专注于Web组件的...
标题“SCWCD之路——结束语”表明这是一个关于SCWCD认证学习的总结或结语。SCWCD,全称Sun Certified Web Component Developer,是Oracle(原Sun Microsystems)推出的一个Java Web开发领域的专业认证,主要考察...
本篇文章将探讨“SCWCD之路——Web应用的安全性”,并结合提供的文件`catalina.jar`和`tomcat-juli.jar`,深入讲解相关的安全知识点。 首先,让我们理解`catalina.jar`和`tomcat-juli.jar`。这两个文件都是Apache ...
JSTL是标准的JSP标签库,包含了一系列用于常见任务的标签,如XML处理、条件语句、循环、国际化和数据库操作等。学习JSTL可以帮助提高代码的可读性和维护性,减少脚本let的使用。 四、MVC模式 在SCWCD认证中,模型-...
SCWCD(Sun Certified Web Component Developer)是Oracle公司(原Sun Microsystems)提供的一个Java Web开发领域的专业认证,全称为“Sun Certified Web Component Developer for Java EE”。这个认证主要针对那些...
- 自定义标签库:了解如何创建和使用自定义标签库来封装复杂的业务逻辑。 ### SCWCD Exam Study Kit 《SCWCD Exam Study Kit》是一本专门针对SCWCD认证考试的学习指南。该书由Hanumant Deshmukh、Jignesh Malavia...
JSTL(JavaServer Pages Standard Tag Library)是一组标准标签库,用于简化JSP页面的编程,提高可维护性和可读性。它包括核心标签、XML标签、JDBC标签、JSTL函数等多个部分,比如使用进行日期格式化,遍历集合等。 ...
4. **SCWCD 1.4 Study Guide**:SCWCD.1.4.Study.Guide.pdf可能是针对早期版本(J2EE 1.4)的SCWCD考试的指南,可能包含当时Servlet和JSP的标准、API及最佳实践。 5. **310-081-2.23-140.pdf**:文件名中的数字可能...
4. **JSP标准标签库**:包括JSTL(JavaServer Pages Standard Tag Library)和EL(Expression Language),它们提供了一种简化JSP页面编码的方法。 5. **HTTP协议**:理解HTTP协议的基本概念,如请求方法(GET、...
**使用正确的XHTML语法**:确保使用的`<script>`标签符合XHTML标准,例如移除不被支持的`language`属性。 3. **优化性能**:考虑使用缓存策略来减少重复编译,提高响应速度。 #### 六、结论 - 通过上述分析,我们...
6. **JSTL (JavaServer Pages Standard Tag Library)**: JSTL提供了一套标准标签库,帮助开发者更方便地处理常见任务,如迭代、条件语句、XML处理等,以减少脚本代码的使用。 7. **Servlet容器**:如Tomcat, ...
- **Standard action**:`<jsp:useBean>` 是 JSP 标准动作之一,用于创建并初始化一个 JavaBean 对象。 - **Expression language (EL)**:`${customer.title}${customer.lastName}` 这里使用了 EL 表达式来获取 `...
4. **JSTL(JavaServer Pages Standard Tag Library)**:JSTL提供了一系列标准标签,简化了JSP页面的编写。了解并能熟练运用fmt、fn、c、sql和xml等核心标签库是考试的重要部分。 5. **过滤器和监听器**:过滤器...
自定义标签库配置 #### 问题背景 为了在Web应用程序中使用自定义标签,需要在`/WEB-INF/myTags.xml`文件中定义这些标签,并在JSP中使用符号名`myTags`来引用它们。 #### 代码示例 ```xml <name>myTags ...
4. **JSTL(JavaServer Pages Standard Tag Library)**:JSTL提供了一组标准标签,简化了JSP页面的开发。学习核心、SQL、XML和函数四个主要部分的标签,并了解它们在实际应用中的使用。 5. **JSF(JavaServer ...
5. **MVC(Model-View-Controller)设计模式**:这是Web开发中常用的设计模式,SCWCD可能会考察如何实现和应用这一模式。 6. **JavaBeans**:作为Java编程中的组件模型,JavaBeans在JSP中常用来封装数据。理解其...