jstlラベルライブラリ


一、cラベル
1、ラベルライブラリの導入


  • 2、out出力ラベル
    out name="value" //       
        [escapeXml="true|false"] //            , >   gt
        [default="defaultValue"] //   
    />

    出力する文字列に世代alertのjsスクリプトが含まれている場合、el式で直接出力するとブラウザはこのjsスクリプトを直接実行します.これは明らかにページ構造を破壊したためです.では、正しく出力するにはc:outラベルを使用します.
    3、set設定ラベル
  • value値をjavabeanオブジェクトの特定のプロパティまたはmapに設定するか、カスタム変数を使用して保存します.
  • set value="value"//    
        var="varname"//  value     
        [scope="page|request|session|application"]//    
        [target=""]//value      javabean    map  ,   el   
        [property=""]//javabean    map key , target    
    />

    4、removeラベル
  • 指定範囲内の変数を削除します.
  • var="varName" 
        scope="page|request|session|application"
    />

    5、論理ラベル
    <c:if test="el   " 
        var="varName"// test     var         
        [scope="page|request|session|application"]/>
    
    <c:if test="el   "
        [var="varName"]
        [scope="page|request|session|application"]>
        body content
    c:if>
    
    <c:choose>
        <c:when test="el   1">
            body content1
        <c:when/>
        <c:when test="el   2">
            body content1
        <c:when/>
        ....
        <c:otherwise>
            body content3
        c:otherwise>
    c:choose>

    6、forEach遍歴ラベル
    forEach items="collection"//      
        [var="varName"]//       
        [varStatus="name"]//           
        [begin=""]//      ,   0
        [end=""]//      ,           
        [step=""]>//         (  ),   1
        body content
    forEach>
    
    forEach var="item" items="${list}" varStatus="ind"
            begin="0" end="10" step="2">
        ${item}       
        ${item.name}       name  (          )
        ${ind.index }   
        ${ind.count }       
        ${ind.current }      
        ${ind.first }       
        ${ind.last }        
    forEach>

    6.1、foreachにおけるitems属性がサポートする集合
  • .java.util.Collection:iterator()を呼び出して取得する要素.
  • java.util.Map:java.util.Map.Entryが取得したインスタンス.
  • java.util.Iterator:反復器.
  • java.util.Enumeration:列挙.
  • 配列.
  • javax.servlet.jsp.jstl.sql.Result:SQLクエリによって取得されたロー.

  • 7、forTokensラベル
  • ユーザは、特定の区切り文字で分割された文字列を巡回する.
  • "string"//        
        delims=""//   
        [var="varName"]//       
        [varStatus=""]//           
        [begin=""]//      ,   0
        [end=""]//      ,           
        [step=""]>//         (  ),   1
        body content
    

    8、urlラベル
  • は、処理後のurlを出力する.
  • value="url" //    url
        [context=""]//valueurl        
        [var=""]//               
        [scope="page|request|session|application"]//    
    />

    9、redirectラベル
    "url" //        
        context=""//url        
    />

    二、fn関数
    1、ラベルライブラリの導入


  • 2、関数
    ${fn:trim(" hello word ")} //               
    ${fn:length(string|list)} //           
    ${fn:subString(source, beginindex, endindex)} //  source    beginindex endindex        
    ${fn:subStringAfter(source, target) } //  target    source                    
    ${fn:subStringBefore(source, target)} //  target    source                    
    ${fn:toLowerCase(source) } //           
    ${fn:toUpperCase(source)} //           
    ${fn:startsWith(source, target)} //  source       target     。
    ${fn:split(source, ",")} // source                      ,         
    ${fn:replace(source, target, comment)} // source         target      comment   
    ${fn:join(array, ",")} //                    
    ${fn:indexOf(source, target)} //  target    source             
    ${fn:escapeXml("<>ddd")} //              
    ${fn:endsWith(source, target)} //  source      target     
    ${fn:contains(source, target)} //  source      target 
    ${fn:containsIgnoreCase(source, target)} //  source      target 

    三、fmtラベル
    1、ラベルライブラリの導入


  • 2、formatNumberラベル
  • デジタルフォーマットラベルはnumber、currency、percent表示スタイルにフォーマットできます.
  • value="numericValue"//             
            [type="number|currency|percent"]//         
            [pattern=""]//     
            [currencyCode="CAD|CNY|EUR|JPY|GBP|USD"]//    ,CAD:    ,CNY:   ,EUR:  ,JPY:  ,GBP:  ,USD:  
            [currencySymbol=""]//    ,  $、¥
            [groupingUsed="true|false"]//             
            [maxIntegerDigits=""]//          
            [minIntegerDigits=""]//          
            [maxFractionDigits=""]//          
            [minFractionDigits=""]//          
            [var=""]//              
            [scope="page|request|session|application"]//var     
    />

    2.1、formatNumberの例
    3、formatDateラベル
  • 日付オブジェクトを文字列形式にフォーマットします.
  • value="date"//              
        [type="time|date|both"]//      、  、    
        [dateStyle="default|short|medium|long|full"]//       
        [timeStyle="default|short|medium|long|full"]//       
        [pattern=""]//     
        [timeZone=""]//           
        [var=""]//                
        [scope="page|request|session|application"]//var      
    />

    3.1、formatDate例
    "${isoDate}" type="both"/>//  : 2004-5-31 23:59:59  
    "${isoDate}" type="date"/>//  2004-4-1  
    "${isoDate}" type="time"/>//  : 23:59:59  
    "${isoDate}" type="date" dateStyle="default"/>//  : 2004-5-31  
    "${isoDate}" type="date" dateStyle="short"/>//  : 04-5-31  
    "${isoDate}" type="date" dateStyle="medium"/>//  : 2004-5-31  
    "${isoDate}" type="date" dateStyle="long"/>//  : 2004 5 31   
    "${isoDate}" type="date" dateStyle="full"/>//  : 2004 5 31       
    "${isoDate}" type="time" timeStyle="default"/>//  : 23:59:59  
    "${isoDate}" type="time" timeStyle="short"/>//  :   11:59  
    "${isoDate}" type="time" timeStyle="medium"/>//  : 23:59:59  
    "${isoDate}" type="time" timeStyle="long"/>//  :   11 59 59   
    "${isoDate}" type="time" timeStyle="full"/>//  :   11 59 59  CDT  
    "${date}" type="both" pattern="EEEE, MMMM d, yyyy HH:mm:ss Z"/>//  :    ,    1, 2004 13:30:00 -0600  
    "${isoDate}" type="both" pattern="d MMM yy, h:m:s a zzzz"/>//  : 31    04, 11:59:59           

    3.2、Patter説明
    d:         。           。      
    dd:        。            。      
    ddd:          ,    AbbreviatedDayNamesdddd:         ,    DayNamesM:       。           。      
    MM:      。            。      
    MMM:        ,    AbbreviatedMonthNamesMMMM:       ,    MonthNamesy:           。               10,            。      
    yy:          。               10,           。      
    yyyy:           。      
    gg:       。                        ,      。      
    h:   2         。            。      
    hh:  12         。           。      
    H:   24         。            。      
    HH:  24         。           。      
    m:     、            。      
    mm:     、             。      
    s:    、           。      
    ss:   、            。   
    h:     , 1 12,  :01:00 AM~12:59AMH:      , 0 23 ,  :00:00 AM~23:59AM

    4、parseNumberラベル
  • は、文字列で表される数字、通貨、パーセンテージを数値に解析するために使用される.
  • <fmt:parseNumber value="numericValue"//     
        [type="number|currency|percent"]//        
        [pattern=""]
        [parseLocal=""]
        [integerOnly="true|false"]
        [var=""]
        [scope="page|request|session|application"]
    />

    5、parseDateラベル
  • 文字列形式の日付を、地域を区別する形式で対応する日付オブジェクトに変換します.
  • <fmt:parseDate value="dateString"
        [type="time|date|both"]
        [dateStyle="default|short|medium|long|full"]
        [timeStyle="default|short|medium|long|full"]
        [pattern=""]
        [timeZone=""]
        [parseLocale=""]
        [var=""]
        [scope="page|request|session|application"]