JSTL詳解(二)

          一般用途的標簽

           

               在JSTL中,一般用途的標簽只要是指具有輸出,設置變量,和錯誤處理等功能的標簽,他們在jsp中使用很頻繁,它們有:

          l         <c:out>

          l         <c:set>

          l         <c:remove>

          l         <c:catch>

          下面,我來講述一下他們的作用:

          <c:out>

          它是一個輸出的標簽,負責把計算出的結果輸出到jspwriter,就跟調用out.println()基本一樣。沒有BODY的時候,使用下面的語法:

          <c:out value=”value”  [escapeXml]=”{true|false}”  [default=”defaultValue”]/>

          有BODY的時候,使用下面的語法:

          <c:out value=”value”  [escapeXml]=”{true|false}” >

                 這里是BODY,可以是任何合法的jsp或者是html代碼。

          </c:out>

          注意,escapeXml的作用是是否將代碼交給xml解析器解釋,true為交給xml解析器解釋,false為交給瀏覽器解釋,見紅色部分代碼

          舉例:c_out.jsp

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

          <%@ page contentType="text/html; charset=gb2312" language="java" %>

          <html>

          <head>

            <title>JSTL: c:out的使用</title>

          </head>

          <body bgcolor="#FFFFFF">

          <hr>

          <c:set var="sessionAttr" value="sessionValue" scope="session"/>

          <c:set var="pageAttr" value="pageValue" scope="page"/>

          <c:set var="requestAttr" value="requestValue" scope="request"/>

           

          <c:out value="以下輸出的是前面設置的屬性<br>" escapeXml="false"/>

           

          <c:out value="${sessionAttr}"/>

          <c:out value="${pageAttr}"/>

          <c:out value="${requestAttr}"/>

          <c:out value="${test_nodef}" default="沒有test_nodef這個變量"/>

          </html>

           

          <c:set>

          這個標簽用于在某個范圍(page,request,session,application)里面設置特定的值(默認為page),或者設置某個已經存在的javabean的屬性。類似于<%request.setAttribute(“name”,value)%>

          語法:

          1、使用value屬性設置一個特定范圍里面的屬性:

          <c:set value=”value”  var=”varName” [scope= “{page|request|session|application}”]/ >

          2、使用value屬性設置一個特定范圍里面的屬性,帶有BODY:

          <c:set value=”value”  var=”varName” [scope= “{page|request|session|application}”] >

                 Body content

          </c:set>

          3、設置某個特定對象的一個屬性:

          <c:set value=”value”  target=”target”  property=”propertyName”/ >

          4、設置某個特定對象的一個屬性, 帶有BODY:

          <c:set value=”value”  target=”target”  property=”propertyName” >

                 Body content

          </c:set>

          舉例:c_set.jsp

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

          <%@ page contentType="text/html; charset=gb2312" language="java" %>

           

          <jsp:useBean id="user" class="com.j2ee14.ch12.User"/>

          <html>

          <head>

            <title>JSTL:的使用c:set</title>

          </head>

          <body bgcolor="#FFFFFF">

          <hr>

          設置一個屬性,然后輸出它<br>

          <c:set var="maxCount" value="100"/>

          <c:out value="${maxCount}"/>

          <hr>設置屬性時,把它的值放在標簽的body中。

          <c:set var="password">

          ksdjfxsdf234234

          </c:set>

          <c:out value="${password}"/>

          <hr>設置javaBean的屬性,然后輸出這些屬性值:

          <c:set value="hellking" target="${user}" property="userName"/>

          userName=<c:out value="${user.userName}"/>

           

          <hr>設置屬性,并且指定它們的范圍,屬性的默認范圍是page。

          <c:set value="20" var="maxIdelTime" scope="session"/>

          <c:set value="next.jsp" var="nextPage" scope="page"/>

           

          </body>

          </html>

           

          <c:remove>

          它的作用是刪除某個變量或者屬性。類似于<%session.removeAttribute(“name”)%>,它的語法是:<c:remove var=”varName” [scope= “{page|request|session|application}”]/ >

          舉例:c_remove.jsp

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

          <%@ page contentType="text/html; charset=gb2312" language="java" %>

          <html>

          <head>

            <title>JSTL:c:remove的使用</title>

          </head>

          <body bgcolor="#FFFFFF">

          <c:set value="10000" var="maxUser" scope="application"/>

          <c:set value="10" var="count" scope="session"/>

          maxUser=<c:out value="${maxUser}"/><br>

          count=<c:out value="${count}"/>

          <hr>調用c:remove...

          <c:remove var="maxUser" scope="application"/>

          <c:remove var="count"/>

           

          調用了c:remove后,參數值為:

          maxUser=<c:out value="${maxUser}"/>,

          count=<c:out value="${count}"/>,

          </body>

          </html>

           

          <c:catch>

          它的作用是捕捉由嵌套在它里面的標簽所拋出來的異常。類似于<%try{}catch{}%>,它的語法是:<c:catch [var=”varName”]>nested actions</c:catch>

          舉例:c_catch.jsp

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

          <%@ page contentType="text/html; charset=gb2312" language="java" %>

          <html>

          <head>

            <title>JSTL:catch的使用</title>

          </head>

          <body bgcolor="#FFFFFF">

          <c:catch var="error">

          <%

            Integer.parseInt("sdkfj");

           %>

           </c:catch>

           <hr>異常:

           <c:out value="${error}"/>

           <hr>異常 exception.getMessage=

           <c:out value="${error.message}"/>

          <hr> 異常exception.getCause=

           <c:out value="${error.cause}"/>

          </body>

          </html>


          posted on 2007-06-13 10:30 chenguo 閱讀(180) 評論(0)  編輯  收藏 所屬分類: 組件 標簽使用

          <2025年7月>
          293012345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          導航

          統計

          留言簿

          隨筆分類(1)

          文章分類(52)

          好友 小山的博客

          最新隨筆

          最新評論

          主站蜘蛛池模板: 花莲县| 黔南| 安康市| 斗六市| 兴海县| 弥勒县| 沁水县| 金坛市| 钟祥市| 壤塘县| 罗平县| 浪卡子县| 盘锦市| 玉山县| 宜阳县| 扬州市| 新沂市| 饶阳县| 扶风县| 达拉特旗| 沁阳市| 浦东新区| 含山县| 台北市| 元谋县| 滁州市| 二手房| 内黄县| 古交市| 恩平市| 汽车| 辉县市| 西畴县| 育儿| 宁安市| 泰宁县| 电白县| 郴州市| 靖西县| 绵阳市| 彭山县|