`
superzhouych
  • 浏览: 21808 次
  • 性别: Icon_minigender_1
  • 来自: 广州
最近访客 更多访客>>
社区版块
存档分类
最新评论

SCWCD之路——标准标签库开发

阅读更多

 

介绍

 

        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。

0
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics