<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

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

    JSTL
    ------------------------------------------------------------------------------
    功能領域   URI                                    前綴   描述
    Core       http://java.sun.com/jsp/jstl/core       c     核心標記庫
    format     http://java.sun.com/jsp/jstl/fmt        fmt   格式化標記庫-進間、日期、國際化
    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ù)標記庫,主要是字符串
    用在視圖層的技術
    --------------------------------------------------------------------------------
    用使:
    1 引用標記庫
    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
    <html>
    <body>
    用戶名:<c:out value="${username}" />
    </body>
    </html>
    -----------------------------------------------------------------------------------
    Core核心標記庫
    操作變量     條件操作     循環(huán)操作     URI操作
    out          if           forEach      import
    set          choose       forTokens    url
    remove       when                      redirect轉向
    catch        otherwise                 param
    --------------------------------------------------------------------------------------
    <c:out>標記
    使用語法
    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
                      | 字符進行轉義,分別轉成都市&lt,&gt,      |       |       |
                      | ',"和&amp.為false不進行轉義 |       |       |
    ------------------------------------------------------------------------
    <c:set>標記
    使用語法
    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>標記
    使用語法
    <c:remove var="name" [scope="{page|request|session|application}"] />
    屬性
    ------------------------------------------------------------------------------------------------
    屬性名    | 描述                                              | EL  | 必選  | 缺省值
    var           | 被刪除的變量的名字                  | 否  | 是    | 無
    scope       | 被刪除的變量的作用范圍          | 否  | 否    | page,request,session,application
    ------------------------------------------------------------------------------------------------
    <c:catch>標記
    使用語法
    <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>標記
    使用語法
    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           | 保存條件結果的變量的名稱                     | 否    | 否    | 無
    scope       | 保存條件結果的變量的作用范圍             | 否    | 否    | page
    -----------------------------------------------------------------------------
    <c:choose>標記
    使用語法
    <c:choose>
     body content(<when>and<otherwise>)
    </c:choose>

    <c:when>標記
    使用語法
    <c:when test="condition">
     body content
    </c:when>
    屬性
    -----------------------------------------------------------------------------
    屬性名    | 描述                                                                    | 動態(tài)  | 必選  | 缺省值
    test           | 如果它的結果為true,執(zhí)行<c:when>所包含的  | 可以  | 是    | 無
                    | 內(nèi)容,false則不執(zhí)行<c:when>所包含的內(nèi)容      |       |       |
    -----------------------------------------------------------------------------
    <c:otherwise>標記
    使用語法
    <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>標記
    使用語法
    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        | 開始下標                        | 可以  | 否    | int                                                 |0
    end          | 結束下標                        | 可以  | 否    | int                                                  |集合中最后一個成員的索引
    step         | 步長                                 | 可以  | 否    | int                                                 |1
    var          | 代表當前成員的變量名 |  否   | 否    | 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>標記 將一個字符串進行分隔
    使用語法
    <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        | 開始下標                         | 可以  | 否    | int       |0
    end         | 結束下標                          | 可以  | 否    | int       |集合中最后一個成員的索引
    step        | 步長                                  | 可以  | 否    | int       |1
    var         | 代表當前成員的變量名   |  否   | 否    | String    |無
    varStatus | 顯示循環(huán)狀態(tài)的變量     |  否   | 否    | String    |無
    -------------------------------------------------------------------------------------------
    <c:forTokens items="dsf:dsafsa:dsffs,dfdfs" var="name" delims=":,">
        ${name }<br/>
    </c:forTokens>
    -------------------------------------------------------------------------------------------
    <c:import>標記 相當于include將另外一個頁面的內(nèi)容引入到當前頁面來
    使用語法
    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                   | 需要導入頁面url地址                                       | 是    | 是    |無
    context            | 本地web應用的名字                                       | 是    | 否    |當前應用的名子
    charEncoding  | 設置導入數(shù)據(jù)的字符編碼                               | 是    | 否    |ISO-8859-1
    var                  | 接受導入文本的變量的名稱                           | 否    | 否    |無
    scope            | 接受導入文本內(nèi)容的變量的作用范圍              | 否    | 否    |page
    varReader     | 用于接受導入文本的java.io.Reader變量的名稱 | 否    | 否    |無
    -------------------------------------------------------------------------------------------

    <c:url>標記 創(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應用的名字                           | 是    | 否    |當前web應用的名子
    var             | 保存url地址的變量的名稱          | 否    | 否    |輸出到當前頁面
    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>標記 頁面跳轉
    使用語法
    1 <c:redirect url="value" [context="context"] />
    2 <c:redirect url="value" [context="context"]>
        <c:param />
      </c:redirect>
    屬性
    ------------------------------------------------------------------------------------------
    屬性名        | 描述                                             | 必選  |缺省值
    url                | url地址                                         | 是    |無
    context         | 要轉向到的web應用的名字       | 否    |當前web應用的名子
    -------------------------------------------------------------------------------------------
    <c:redirect url="LoopTag.jsp">
         <c:param name="p" value="aa" />
    </c:redirect>
    -------------------------------------------------------------------------------


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

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

    <fmt:message>標記  (核心)設置資料束文件中的KEY和對應的內(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屬性標識的消息.請注意,該屬性的值必須是實際的資源束.             | 可以  | 否    |無
                      | 如當指定<fmt:setBundle>操作的var屬性時同該標記所賦予的資源束.<fmt:message>的bundle屬性不支持字符串值                                    
    var             | 該標記所生成的文本消息賦給指定的變量,而不是輸出到JSP頁面中                                                                        | 否    | 否    |無
    scope         | 由來指定的var屬性指定的變量的作用域,有效值:page,request,session,application                                                         | 否    | 否    |page
    -----------------------------------------------------------------------------------------------------------------------------------------------

    <fmt:requestEncoding>標記  設置編碼方式
    使用語法
    <fmt:requestEncoding [value="charsetName"] />
    作用等同于
    request.setCharacterEncoding()
    --------------------------------------------------------------------------------
    <fmt:param>標記  設置編碼方式
    使用語法
    1 <fmt:param value="messageParameter" />
    2 <fmt:param>
      body content
      </fmt:param>
    -----------------------------------------------------------------
    <fmt:formatDate> 標記
    使用方法:
    <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"/>
    ----------------------------------------------------------------------------
    屬性名     | 描述                          | 值                |結果
    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> 標記
    <fmt:formatNumber value="${n}" pattern="###,###.##"/>
    <fmt:formatNumber value="${n}" pattern="###,###.0000"/>
    ----------------------------------------------------------------------------
    屬性名      | 描述                          | 值                |結果
    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>標記例子
    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)將轉換好的文件復制到項目目錄下
    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>標簽
    <setDatasource>
    <update>
    <query>
    <param>
    1 導入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 閱讀(335) 評論(0)  編輯  收藏 所屬分類: jsp/servlet
    主站蜘蛛池模板: 亚洲av成人无码网站…| 免费网站看av片| 国产精品亚洲玖玖玖在线观看| caoporn成人免费公开| 亚洲春色在线观看| 亚洲AV无码一区二区三区在线观看| 免费萌白酱国产一区二区三区| 国产精品亚洲午夜一区二区三区| 亚洲国产精品无码久久青草 | 免费在线观看一区| 亚洲精品免费视频| 亚洲AV无码一区二三区| 91热成人精品国产免费| 产传媒61国产免费| 亚洲入口无毒网址你懂的| 亚洲午夜久久久久久久久久| 一二三四免费观看在线视频中文版 | 久久久久亚洲AV成人片| 亚洲AV中文无码乱人伦在线视色 | 日韩高清免费观看| 日本视频免费高清一本18| 无码亚洲成a人在线观看| 久久夜色精品国产噜噜亚洲AV| 免费国产在线观看不卡| 97在线观看永久免费视频| 精品国产福利尤物免费| 亚洲精品无码高潮喷水A片软| 亚洲狠狠综合久久| 亚洲精品无码鲁网中文电影| 国产麻豆免费观看91| 1000部拍拍拍18勿入免费视频下载 | 亚洲国产中文在线视频| 国产亚洲精品a在线无码| 亚洲av无码成人精品区在线播放| 57PAO成人国产永久免费视频 | 亚洲国产成人精品久久久国产成人一区二区三区综 | 亚洲精品理论电影在线观看| 亚洲狠狠综合久久| 久久精品国产亚洲网站| JLZZJLZZ亚洲乱熟无码| 国产jizzjizz免费视频|