posts - 3, comments - 1, trackbacks - 0, articles - 5

          struts之JSTL-core庫學習筆記

          Posted on 2009-04-07 18:59 鄭舒力 閱讀(295) 評論(0)  編輯  收藏 所屬分類: struts 學習筆記

          JSTL標簽庫的配置
          需要在web程序的lib目錄下粘貼jstl.jar和standard.jar(如果只使用el表達式,不用拷貝這兩個jar)
          注意:jstl必須在能夠支持j2ee1.4/servlet2.4/jsp2.0版本上的容器才能運行。
          c開頭的核心庫,fmt開頭的為格式化庫,fn開頭的為函數庫,sql開頭的為操作SQL庫,x開頭的操縱XML

          核心庫
          <c:out/>輸出標簽
          examples:
          <c:out value="${hello}"/>
          如果需要再scope里取值,在value內必須是el表達式或jsp腳本,否則將把引號內容按字符串輸出
          <c:out value="abc"/>將輸出abc。
          如果只是以上業務的話,推薦使用el表達式取值,更加簡潔。
          <c:out value="${abc}" default="123"/>
          如果abc在scope內并不存在的話,可以加入default屬性規定默認值.
          <c:out value="${cz}" escapeXml="false"/>
          如果想把字符串按HTML格式輸出,需加入escapeXml="false"。
          此處推薦使用el表達式,el自動按HTML格式輸出。

          <c:set><c:remove>設值,移除標簽
          examples:
          <c:set value="123" var="temp"/>
          temp:${temp}
          <c:remove var="temp"/>
          temp:${temp}
          var指定變量名。

          <c:if><c:if/>判斷標簽
          examples:
          <c:if test="${v1 lt v2}" var="v">
           v1小于v2
           ${v }
          </c:if>
          var標簽指定變量并接收test內判斷的值

          <c:choose>條件分支標簽
          examples:
          <c:choose>
           <c:when test="${v1<v2}">
            v1小于v2
           </c:when>   
           <c:otherwise>
            v1大于v2
           </c:otherwise>
          </c:choose>
          使用choose標簽有兩點需要注意
          1、<c:choose>標簽不能單獨出現
          2、<c:otherwise>標簽不能出現在<c:when>標簽之前,</c:when>可以有多對

          <c:forEach>循環標簽
          examples:
          <c:forEach items="${userList}" var="user">
           <tr>
             <td>${user.name}</td>
            <td>${user.age}</td>
            <td>${user.group.name}</td>
           </tr>
          </c:forEach>
          items屬性指定集合數組,var屬性指定循環取出的每一項的變量名,變量var是存放在scope范圍內的
          所以需要使用el表達式取出。

          <c:forEach>循環標簽各項屬性說明
          varStatus屬性:獲取循環中var的狀態。
          <c:forEach items="${userList}" var="user" varStatus="vs">
          vs.count取出當前是循環的第幾次,vs.step獲取循環的步長.
          <c:forEach items="${userList}" var="user" begin="2" end="8" step=2>
          循環從集合的第二項開始,循環到第八項,循環步長為2

          循環取出map
          example:
          <c:forEach items="${map}" var="m">
          ${m.key }=${m.value }<br>
          </c:forEach>
          ${m.key }輸出鍵,${m.value }輸出值

          <c:forTokens>支持分隔符的循環標簽
          example:
          <c:forTokens items="${tok}" delims="," var="v">
           ${v }<br>
          </c:forTokens>
          其他屬性與<c:forEach>標簽功能相同,需要注意的是delims=",",它指定了以什么做為分隔符進行分割。
          request內設置"1,2,3,4,5",此循環的輸出效果如下:
          1
          2
          3
          4
          5

          <c:import>導入標簽
          example:
          <c:import url="http://127.0.0.1/struts_taglib"></c:import>
          此標簽作用相當于jsp:include標簽的作用,當前頁面包含url里的頁面。

          <c:redirect>重定向標簽
          example:
          <c:redirect url="http://127.0.0.1/struts_taglib"></c:redirect>
          直接重定向至url指定地址


           

          主站蜘蛛池模板: 轮台县| 句容市| 南康市| 金坛市| 泰安市| 平安县| 临邑县| 万山特区| 高州市| 徐闻县| 镇安县| 辽宁省| 静安区| 威海市| 苍南县| 郸城县| 永安市| 德州市| 芦溪县| 普洱| 屏南县| 齐河县| 探索| 德格县| 礼泉县| 宁远县| 东乌| 佛山市| 榆林市| 桂平市| 奈曼旗| 恩平市| 迁西县| 通州区| 青田县| 资溪县| 林州市| 双流县| 开远市| 阿克陶县| 林口县|