鐵手劍譜

          上善若水
          數據加載中……
          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

          很詳盡。謝謝啦
            回復  更多評論    
          主站蜘蛛池模板: 连南| 志丹县| 睢宁县| 威远县| 曲周县| 浮梁县| 大渡口区| 梁山县| 友谊县| 南丰县| 井陉县| 凌源市| 清苑县| 安新县| 涿州市| 开鲁县| 深水埗区| 嘉峪关市| 武冈市| 江城| 册亨县| 漯河市| 承德县| 新丰县| 资阳市| 大石桥市| 重庆市| 黄大仙区| 邹城市| 巴东县| 错那县| 汽车| 临猗县| 通许县| 崇仁县| 临桂县| 新干县| 三门县| 阜宁县| 共和县| 丹凤县|