鐵手劍譜

          上善若水
          數據加載中……
          Struts秘籍之第2段:第3.1式: 使用JSTL

          第3.1式. 使用JSTL

          問題

          你需要在Struts應用中使用JSTL標簽苦的標簽。

          動作要領

          http://jakarta.apache.org/taglibs下載Jakarta Taglibs JSTL 的參考實現。將jstl.jar和standard.jar文件拷貝到應用程序的WEB-INF/lib文件夾。然后將c.tld, fmt.tld, sql.tld, 和x.tld文件復制到WEB-INF/lib目錄。

          在需要時用JSTL的地方使用適當的taglib指令:

           

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

           

          Table 3-1列出了JSTL 標簽庫和對應的URI。

          Table 3-1. JSTL 標簽庫URI

          標簽庫

          JSTL 1.0 Taglib URI

          JSTL 1.1 Taglib URI

          Core

          http://java.sun.com/jstl/core

          http://java.sun.com/jsp/jstl/core

          Formatting

          http://java.sun.com/jstl/fmt

          http://java.sun.com/jsp/jstl/fmt

          SQL

          http://java.sun.com/jstl/sql

          http://java.sun.com/jsp/jstl/sql

          XML

          http://java.sun.com/jstl/xml

          http://java.sun.com/jsp/jstl/xml

          Functions

          N/A

          http://java.sun.com/jsp/jstl/functions

           

          動作變化

          JSTL 是一個強大的標簽庫集,完全應該作為Struts 開發者的工具箱之一。JSTL 包含有支持JavaBean 屬性、循環、條件邏輯、以及URL 格式化的標簽。也有格式化和解析日期和數值的標簽。XML 標簽庫可以用來在頁面中解析和處理XML。SQL 標簽庫則可以和關系數據庫交互。Functions 標簽庫提供了一些有功的函數,可用于表達始中,特別是字符串處理。

          這其中最重要的就是Core 標簽庫。這個庫包含了很多可以取代Struts beanlogic標簽的標簽。那為什么要使用這個標簽而不是用Struts 標簽呢?答案是,這些標簽要比Struts 標簽要更強大而更易于使用。但是別搞錯,Struts 項目并不和它是抵觸的。恰恰相反,JSTL 允許Struts 集中于它最擅長的:為強壯的JSP Web應用提供控制器。

          我們來看看如何分別使用JSTL 標簽和Struts 標簽來實現循環和顯示輸出。首先,下面是Struts 版本:

           

          <ul>
              
          <logic:iterate id="cust" name="branch" property="customers">
                  
          <li>
                      
          <bean:write name="cust" property="lastName"/>
                      
          <bean:write name="cust" property="firstName"/>
                  
          </li>
              
          </logic:iterate>
          </ul>

           

          使用JSTL,則變得簡單一些:

          <ul>
              
          <c:forEach var="cust" items="${branch.customers}">
                  
          <li>
                      
          <c:out value="${cust.lastName}, ${cust.firstName}"/>
                  
          </li>
              
          </c:forEach>
          </ul>


          后者最酷的地方在于你并不是一定要一個個的進行選擇。JSTL 可以在你便干邊學中使用它。JSP 表達式語言(EL) 使得訪問各種范圍之中的ActionForms 和對象中的數據更加容易。最困難的決策不是你到底用不用JSTL,而是使用哪一個版本的JSTL。如果你使用JSP 2.0/Servlet 2.4 容器,比如Tomcat 5, 你最好使用JSTL 1.1。否則,目前你只能使用JSTL 1.0。

          對于Struts應用來說,我們還是推薦使用JSTL 標簽。

          相關動作

          第3.2式會展示如何在Struts標簽中使用EL 表達式。

          <JavaServer Pages> [Hans Bergsten 著(O'Reilly),機械工業出版中文版]就詳細涉及了JSTL,值得參考。

          Sun 提供了一個JSTL 教程,地址是http://java.sun.com/tutorials/jstl.

          下面地址也有一個快速參考:http://www.jadecove.com/jstl-quick-reference.pdf.

          Manning 的 JSTL in Action也是一本很好的書:http://www.manning.com

           

          posted on 2005-05-27 13:57 鐵手 閱讀(4574) 評論(2)  編輯  收藏 所屬分類: JavaStruts系列

          評論

          # Struts 秘籍(CookBook)[TrackBack] 2005-11-12 18:29 阿泠

          本系列源改編自O'Reily的Strus Cookbook
          [引用提示]阿泠引用了該文章, 地址: http://blog.donews.com/inclear/archive/2005/11/12/624363.aspx
            回復  更多評論    

          # re: Struts秘籍之第2段:第3.1式: 使用JSTL 2007-11-23 10:29 nicholasRen

          很詳盡。謝謝啦
            回復  更多評論    
          主站蜘蛛池模板: 邻水| 乐陵市| 吉安县| 利辛县| 饶平县| 嫩江县| 石台县| 阿拉善右旗| 连州市| 武隆县| 太白县| 绵阳市| 长岭县| 大名县| 买车| 江口县| 嘉定区| 抚宁县| 临朐县| 静宁县| 韶关市| 乌恰县| 维西| 缙云县| 邵阳市| 榆中县| 抚松县| 南平市| 华容县| 遂宁市| 织金县| 大姚县| 永德县| 安西县| 青神县| 安义县| 密山市| 崇礼县| 日土县| 怀远县| 沙河市|