隨筆-124  評論-49  文章-56  trackbacks-0

          JSTL
          ------------------------------------------------------------------------------
          功能領(lǐng)域   URI                                    前綴   描述
          Core       http://java.sun.com/jsp/jstl/core       c     核心標(biāo)記庫
          format     http://java.sun.com/jsp/jstl/fmt        fmt   格式化標(biāo)記庫-進間、日期、國際化
          SQL        http://java.sun.com/jsp/jstl/sql        sql   對數(shù)據(jù)庫的操作
          XML        http://java.sun.com/jsp/jstl/xml        xml   對XML的操作
          Functions  http://java.sun.com/jsp/jstl/functions  fn    函數(shù)標(biāo)記庫,主要是字符串
          用在視圖層的技術(shù)
          --------------------------------------------------------------------------------
          用使:
          1 引用標(biāo)記庫
          <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
          <html>
          <body>
          用戶名:<c:out value="${username}" />
          </body>
          </html>
          -----------------------------------------------------------------------------------
          Core核心標(biāo)記庫
          操作變量     條件操作     循環(huán)操作     URI操作
          out          if           forEach      import
          set          choose       forTokens    url
          remove       when                      redirect轉(zhuǎn)向
          catch        otherwise                 param
          --------------------------------------------------------------------------------------
          <c:out>標(biāo)記
          使用語法
          1 <c:out value="vlaue" [escapeXml="{true|false}"]
             [default="defaultValue"] />
          2 <c:out value="vlaue" [escapeXml="{true|false}"]>
             default value
            </c:out>
          屬性
          ------------------------------------------------------------------------
          屬性名      | 描述                                                              | EL    | 必選  | 缺省值
          value          | 需要輸出的值,可以是EL表達式或常量  | 可以  | 是    | 無
          default        | value值為空時所輸出的內(nèi)容                       | 可以  | 否    | 無
          escapeXml | 為true對輸出內(nèi)容中的<、>、'、"和&        | 可以  | 否    | true
                            | 字符進行轉(zhuǎn)義,分別轉(zhuǎn)成都市&lt,&gt,      |       |       |
                            | ',"和&amp.為false不進行轉(zhuǎn)義 |       |       |
          ------------------------------------------------------------------------
          <c:set>標(biāo)記
          使用語法
          1 <c:set value="value" var="name" [scope="{page|request|session|application}"] />
          2 <c:set var="name" [scope="{page|request|session|application}"]>
            value
            </c:set>
          3 <c:set var="name" target="target" property="propertName">
          4 <c:set target="target" propert="propertyName">
            value
            </c:set>
          3和4是給已有的對象屬性賦值
          屬性
          -----------------------------------------------------------------------------
          屬性名    | 描述                                                                      | EL    | 必選  | 缺省值
          value        | 要保存的內(nèi)容,可以是EL表達式或常量             | 可以  | 是    | 無
          target       | 要修改屬性的對象名,一般為javaBeans對象名 | 可以  | 否    | 無
          property  | 要修改的javaBeans的屬性                                    | 可以  | 否    | 無
          var          | 要保存內(nèi)容的變量名                                            |  否   | 是    | 無
          scope     | 保存內(nèi)容的變量的作用范圍                                 |  否   | 否    | page
          -----------------------------------------------------------------------------
          <c:remove>標(biāo)記
          使用語法
          <c:remove var="name" [scope="{page|request|session|application}"] />
          屬性
          ------------------------------------------------------------------------------------------------
          屬性名    | 描述                                              | EL  | 必選  | 缺省值
          var           | 被刪除的變量的名字                  | 否  | 是    | 無
          scope       | 被刪除的變量的作用范圍          | 否  | 否    | page,request,session,application
          ------------------------------------------------------------------------------------------------
          <c:catch>標(biāo)記
          使用語法
          <c:catch [var="name"]>
           body content
          </c:catch>
          屬性
          ------------------------------------------------------------------------
          屬性名    | 描述                                                   | EL  | 必選  | 缺省值
          var           | 用來保存違例信息的變量名            | 否  | 否    | 無
          ------------------------------------------------------------------------
          例子:
          <c:catch var="ex">
              <%
               String number="none";
               int i=Integer.parseInt(number);
              %>
          </c:catch>
          ${ex}
          將違例信息保存在ex變量中,如沒有發(fā)生違例,則什么也不作

          <c:if>標(biāo)記
          使用語法
          1 <c:if test="condition" var="name" [scope="{page|request|session|application}"] />
          2 <c:if test="condition" [var="name"] [scope="{page|request|session|application}"]>
           body content
          </c:if>
          屬性
          -----------------------------------------------------------------------------
          屬性名    | 描述                                                             | EL    | 必選  | 缺省值
          test           | 判斷所要使用的條件                                 | 可以  | 是    | 無
          var           | 保存條件結(jié)果的變量的名稱                     | 否    | 否    | 無
          scope       | 保存條件結(jié)果的變量的作用范圍             | 否    | 否    | page
          -----------------------------------------------------------------------------
          <c:choose>標(biāo)記
          使用語法
          <c:choose>
           body content(<when>and<otherwise>)
          </c:choose>

          <c:when>標(biāo)記
          使用語法
          <c:when test="condition">
           body content
          </c:when>
          屬性
          -----------------------------------------------------------------------------
          屬性名    | 描述                                                                    | 動態(tài)  | 必選  | 缺省值
          test           | 如果它的結(jié)果為true,執(zhí)行<c:when>所包含的  | 可以  | 是    | 無
                          | 內(nèi)容,false則不執(zhí)行<c:when>所包含的內(nèi)容      |       |       |
          -----------------------------------------------------------------------------
          <c:otherwise>標(biāo)記
          使用語法
          <c:otherwise>
           body content
          </c:otherwise>
          ---------------------------------------------------------------------------
          例子:
          <c:choose>
              <c:when test="${param.age>=70}">
                70以上
              </c:when>
              <c:when test="${param.age>35 and param.age<70}">
                35-70
              </c:when>
              <c:otherwise>
                35以下
              </c:otherwise>
          </c:choose>
          --------------------------------------------------------------------------------------------
          <c:forEach>標(biāo)記
          使用語法
          1 <c:forEach [var="name"] items="collection" [varStatus="varStatusName"]
             [begin="begin"] [end="end"] [step="step"]>
               body content
            </c:forEach>
          2 <c:forEach [var="name"] items="collection" [varStatus="varStatusName"]
             begin="begin" end="end" [step="step"]>
               body content
            </c:forEach>
          屬性
          ------------------------------------------------------------------------------------------------------------------------------
          屬性名    | 描述                                | EL    | 必選  | 類型                                            |缺省值
          begin        | 開始下標(biāo)                        | 可以  | 否    | int                                                 |0
          end          | 結(jié)束下標(biāo)                        | 可以  | 否    | int                                                  |集合中最后一個成員的索引
          step         | 步長                                 | 可以  | 否    | int                                                 |1
          var          | 代表當(dāng)前成員的變量名 |  否   | 否    | String                                              |無
          items       | 進得循環(huán)的集合             |  否   | 否    | String,數(shù)組,Map,Collection,Iterator,Enumeration |無
          varStatus | 顯示循環(huán)狀態(tài)的變量     | 可以  | 否    | String                                          |無
          -------------------------------------------------------------------------------------------------------------------------------
          varStatus屬性
          ----------------------------------------------------------
          名稱    | 類型     | 描述   
          index   | int      | 現(xiàn)在所操作的成員的索引 
          count   | int      | 現(xiàn)在所操作的成員的總數(shù) 
          first   | boolean  | 現(xiàn)在所操作的成員,是否為第一個成員   
          last    | boolean  | 現(xiàn)在所操作的成員,是否為最后一個成員  
          ----------------------------------------------------------
          <%
              String names[]=new String[4];
              names[0]="afdsaf";
              names[1]="dggh";
              names[2]="bcbncn";
              names[3]="434535";
              pageContext.setAttribute("names",names);
              Map map=new HashMap();
              map.put("k1","v1");
              map.put("k2","v2");
              request.setAtrribute("map1",map);
          %>
              <c:forEach items="${names}" var="name" begin="1" end="2" step="1" varStatus="i">
               ${name } ${i.index } ${i.count } ${i.first } ${i.last }<br/>
              </c:forEach>
              <c:forEach items="${map1}"  var="v">
               ${v.key } = ${v.value }<br/>
              </c:forEach>

          <c:forTokens>標(biāo)記 將一個字符串進行分隔
          使用語法
          <c:forTokens items="stringOfTokens" delims="delimiters" [var="name"]
             [varStatus="varStatusName"] [begin="begin"] [end="end"] [step="step"]>
               body content
          </c:forTokens>
          屬性
          ------------------------------------------------------------------------------------------
          屬性名    | 描述                                 | EL    | 必選  | 類型      |缺省值
          items        | 進行迭代處理的變量     | 可以  | 是    | String    |無
          delims      | 分割符號                         | 可以  | 是    | char      |無
          begin        | 開始下標(biāo)                         | 可以  | 否    | int       |0
          end         | 結(jié)束下標(biāo)                          | 可以  | 否    | int       |集合中最后一個成員的索引
          step        | 步長                                  | 可以  | 否    | int       |1
          var         | 代表當(dāng)前成員的變量名   |  否   | 否    | String    |無
          varStatus | 顯示循環(huán)狀態(tài)的變量     |  否   | 否    | String    |無
          -------------------------------------------------------------------------------------------
          <c:forTokens items="dsf:dsafsa:dsffs,dfdfs" var="name" delims=":,">
              ${name }<br/>
          </c:forTokens>
          -------------------------------------------------------------------------------------------
          <c:import>標(biāo)記 相當(dāng)于include將另外一個頁面的內(nèi)容引入到當(dāng)前頁面來
          使用語法
          1 <c:import url="url" [context="context"] [var="name"] [scope="{page|request|session|application}"]
             [charEncoding="charEncoding"]>
               <c:param>//可傳參數(shù)
            </c:import>
          2 <c:import url="url" [context="context"] varReader="varReaderName"
             [charEncoding="charEncoding"]>
               body content//內(nèi)容
            </c:import>
          屬性
          ------------------------------------------------------------------------------------------
          屬性名           | 描述                                                                 | EL    | 必選  |缺省值
          url                   | 需要導(dǎo)入頁面url地址                                       | 是    | 是    |無
          context            | 本地web應(yīng)用的名字                                       | 是    | 否    |當(dāng)前應(yīng)用的名子
          charEncoding  | 設(shè)置導(dǎo)入數(shù)據(jù)的字符編碼                               | 是    | 否    |ISO-8859-1
          var                  | 接受導(dǎo)入文本的變量的名稱                           | 否    | 否    |無
          scope            | 接受導(dǎo)入文本內(nèi)容的變量的作用范圍              | 否    | 否    |page
          varReader     | 用于接受導(dǎo)入文本的java.io.Reader變量的名稱 | 否    | 否    |無
          -------------------------------------------------------------------------------------------

          <c:url>標(biāo)記 創(chuàng)建鏈接
          使用語法
          1 <c:url value="value" [context="context"] [var="name"] [scope="{page|request|session|application}"] />
          2 <c:url value="value" [context="context"] [var="name"] [scope="{page|request|session|application}"] />
              <c:param />
            </c:url>
          屬性
          ------------------------------------------------------------------------------------------
          屬性名       | 描述                                             | EL    | 必選  |缺省值
          value           | url地址                                         | 是    | 是    |無
          context       | web應(yīng)用的名字                           | 是    | 否    |當(dāng)前web應(yīng)用的名子
          var             | 保存url地址的變量的名稱          | 否    | 否    |輸出到當(dāng)前頁面
          scope         | 存儲url地址的變量的作用范圍   | 否    | 否    |page
          -------------------------------------------------------------------------------------------
          <c:url var="website" value="http://localhost:8080/webproject/out.jsp">
              <c:param name="p" value="hello" />
          </c:url>
          ${website }<br>
          <a href=" ${website }">dddd</a>
          --------------------------------------------------------------------------------
          <c:redirect>標(biāo)記 頁面跳轉(zhuǎn)
          使用語法
          1 <c:redirect url="value" [context="context"] />
          2 <c:redirect url="value" [context="context"]>
              <c:param />
            </c:redirect>
          屬性
          ------------------------------------------------------------------------------------------
          屬性名        | 描述                                             | 必選  |缺省值
          url                | url地址                                         | 是    |無
          context         | 要轉(zhuǎn)向到的web應(yīng)用的名字       | 否    |當(dāng)前web應(yīng)用的名子
          -------------------------------------------------------------------------------------------
          <c:redirect url="LoopTag.jsp">
               <c:param name="p" value="aa" />
          </c:redirect>
          -------------------------------------------------------------------------------


          Format標(biāo)記庫
          -----------------------------------------
          國際化有關(guān)        | 時間日期有關(guān)(一般不在頁面作處理)
          setLocale         | formatNumber
          requestEncoding   | formatDate
          bundle            | parseDate
          message           | parseNumber
          param             | setTimeZone
          setBundle         | timeZone
          -----------------------------------------
          <fmt:setLocale>標(biāo)記  設(shè)置國際化語言
          使用語法
          <fmt:setLocale value="locale" [variant="variant"] [scope="{page|request|session|application}"] />
          屬性
          ---------------------------------------------------------------------------------------------------------------------------
          屬性名        | 描述                                                                                | EL    | 必選  |缺省值
          value         | 表示該語言環(huán)境的一個字符串,或者是java.util.Locale類的對象                          | 可以  | 是    |無
          scope         | 指定這個對象的作用范圍,有效值為page,requset,session,applicattion                   | 否    | 否    |page
          variant       | 進一步針對特定的平臺或供應(yīng)商定制語言環(huán)境。如,MAC和WIN分別對應(yīng)Macintosh和Windows平臺 | 可以  | 否    |無
          ---------------------------------------------------------------------------------------------------------------------------
          <fmt:setBundle>標(biāo)記  設(shè)定國際化資源束的位置
          使用語法
          <fmt:setBundle basename="basename" [var="name"] [scope="{page|request|session|application}"] />
          屬性
          ---------------------------------------------------------------------------------------------------------------------------
          屬性名        | 描述                                                                                | EL    | 必選  |缺省值
          basename      | 設(shè)置使用的資源文件束文件的路徑與名稱,不應(yīng)當(dāng)包含任保本地化后綴或文件擴展名          | 可以  | 是    |無
          var           | 設(shè)置了該屬性,那么將把basename屬性所標(biāo)識的資源束賦給該屬性值所命名的變量            | 否    | 否    |無
          scope         | 指明缺省資源束設(shè)置所應(yīng)用的JSP作用域                                                 | 否    | 否    |page
          ---------------------------------------------------------------------------------------------------------------------------
          束文件名resources_zh_CN.properties(basename屬性)
          <fmt:setBundle basename="com.v512.examples.resources" />

          <fmt:bundle>標(biāo)記  設(shè)定某個頁面或某幾行國際化資源束的位置
          使用語法
          <fmt:bundle basename="basename" [prefix="prefix"]>
            body content
          <fmt:bundle>
          屬性
          ---------------------------------------------------------------------------------------------------------------------------
          屬性名        | 描述                                                                                | EL    | 必選  |缺省值
          basename      | 設(shè)置使用的資源文件束文件的路徑與名稱,不應(yīng)當(dāng)包含任保本地化后綴或文件擴展名          | 可以  | 是    |無
          prefix        | 為所嵌套的<fmt:message>標(biāo)記的key值指定缺省前綴                                      | 可以  | 否    |無
          ---------------------------------------------------------------------------------------------------------------------------

          <fmt:message>標(biāo)記  (核心)設(shè)置資料束文件中的KEY和對應(yīng)的內(nèi)容
          使用語法
          1 <fmt:message key="messageKey" [bundle="resourceBundle"] [var="varName"] [scope="{page|request|session|application}"] />
          2 <fmt:message [bundle="resourceBundle"] [var="varName"] [scope="{page|request|session|application}"]>
            key
            [<fmt:param>]
            </fmt:message>
          屬性
          -----------------------------------------------------------------------------------------------------------------------------------------------
          屬性名       | 描述                                                                                                                                                                                | EL    | 必選  |缺省值
          key             | 用來確定在資源束中定義哪個文本消息進行輸出顯示                                                                                              | 可以  | 是    |無
          bundle        | 用來指定一個顯式的資源束,用來查找由key屬性標(biāo)識的消息.請注意,該屬性的值必須是實際的資源束.             | 可以  | 否    |無
                            | 如當(dāng)指定<fmt:setBundle>操作的var屬性時同該標(biāo)記所賦予的資源束.<fmt:message>的bundle屬性不支持字符串值                                    
          var             | 該標(biāo)記所生成的文本消息賦給指定的變量,而不是輸出到JSP頁面中                                                                        | 否    | 否    |無
          scope         | 由來指定的var屬性指定的變量的作用域,有效值:page,request,session,application                                                         | 否    | 否    |page
          -----------------------------------------------------------------------------------------------------------------------------------------------

          <fmt:requestEncoding>標(biāo)記  設(shè)置編碼方式
          使用語法
          <fmt:requestEncoding [value="charsetName"] />
          作用等同于
          request.setCharacterEncoding()
          --------------------------------------------------------------------------------
          <fmt:param>標(biāo)記  設(shè)置編碼方式
          使用語法
          1 <fmt:param value="messageParameter" />
          2 <fmt:param>
            body content
            </fmt:param>
          -----------------------------------------------------------------
          <fmt:formatDate> 標(biāo)記
          使用方法:
          <fmt:formatDate value="${today}" type="date" />
          <fmt:formatDate value="${today}" dateStyle="full" />
          <fmt:formatDate value="${today}" pattern="yyyy/MM/dd HH:mm:ss" />
          <fmt:formatDate value="${today}" pattern="yyyy/MM/dd HH:mm:ss" var="d"/>
          ----------------------------------------------------------------------------
          屬性名     | 描述                          | 值                |結(jié)果
          value         | 要格式化的日期值 | default           |2008-8-1
          type          | 顯現(xiàn)的日期格式      | date              |2008-8-1
                           |                                   | time              |14:47:59
                           |                                   | both              |2008-8-1 14:47:59
          dateStyle   | 顯現(xiàn)的日期格式      | short             |08-8-1
                           |                                  | medium            |2008-8-1
                           |                                    | long              |2008年8月1日
                           |                                     | full              |2008年8月1日 星期一
          pattern       | 定義日期格式           |yyy/MM/dd HH:mm:ss |2008/08/01 14:47:59
          var            | 保存值變量名            |                   |
          scope        | 保存變量的scope       |                   |
          -----------------------------------------------------------------------------
          <fmt:formatNumber> 標(biāo)記
          <fmt:formatNumber value="${n}" pattern="###,###.##"/>
          <fmt:formatNumber value="${n}" pattern="###,###.0000"/>
          ----------------------------------------------------------------------------
          屬性名      | 描述                          | 值                |結(jié)果
          value          | 要格式化的日期值 | default           |123,456.123
          type           | 顯現(xiàn)的數(shù)據(jù)格式      | number(數(shù)字)      |123,456.123
                            |                                   | currency(貨幣)    |¥123,456.123
                            |                                   | percent(百分比)   |23.33%
          groupingUsed| 是否分組顯示       | true/false        |
          pattern       | 定義數(shù)據(jù)格式           |###,###.##         |123,456.123
                            |                                    |###,###.0000       |123,456.1230
          var             | 保存值變量名          |                   |
          scope        | 保存變量的scope       |                   |
          -----------------------------------------------------------------------------
          <format>標(biāo)記例子
          1 建立resources.properties文件(英文)
            內(nèi)容:guestbook.display.welcome=welcome to my website
          2 建立resources.properties_zh_CN.properties文件(中文)
            方法:
            (1)在臨時目錄下建立一個臨時文件resources_t.properties
               內(nèi)容:guestbook.display.welcome=歡迎大家訪問網(wǎng)站
            (2)在DOS下進行該臨時目錄,執(zhí)行DOS命今
               c:\temp>native2ascii -encoding uft-8 resources_t.properties resources_zh_CN.properties
            (3)將轉(zhuǎn)換好的文件復(fù)制到項目目錄下
          3 建立JSP頁面
          <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"  %>
          fmt:bundle basename="com.tags.resources">
              <fmt:message key="guestbook.display.welcome">
              </fmt:message>
          </fmt:bundle>

          -----------------------------------------------------------------------------------------------------------
          <sql>標(biāo)簽
          <setDatasource>
          <update>
          <query>
          <param>
          1 導(dǎo)入sql的jar包
          <%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql"  %>
          <sql:setDataSource driver="" url="" user="" password="" var="" scope=""/>
          <sql:update var="oerder" dataSource="${conn}">
           insert into BookOrder(username,zipcode,phone,creditcard,total)
           values(?,?,'88888833333','123432432423',50.00)
           <sql:param value="accp"/>
           <sql:param value="1111"/>
          </sql:update>
          <sql:query var="rs" dataSource="${conn}">
             select * from aa
          </sql:query>
          <C:forEach var="row" items="${rs.rows}">
             ${row.username}     ${row.password}
          </c:forEach>

          posted on 2009-11-29 22:19 junly 閱讀(338) 評論(0)  編輯  收藏 所屬分類: jsp/servlet
          主站蜘蛛池模板: 普洱| 南乐县| 阿克| 准格尔旗| 织金县| 和硕县| 汽车| 寿阳县| 长乐市| 永寿县| 原阳县| 漯河市| 胶南市| 晋城| 永福县| 牟定县| 石城县| 萨迦县| 沈阳市| 营口市| 榆树市| 霍林郭勒市| 长武县| 扎鲁特旗| 大名县| 上林县| 平原县| 永春县| 德庆县| 松溪县| 汉川市| 泸溪县| 永胜县| 荆门市| 遂平县| 德钦县| 泸水县| 天等县| 沾益县| 瓦房店市| 娄底市|