铁手剑谱

上善若水
数据加载中……
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 铁手 阅读(4567) 评论(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

很详尽。谢谢啦
  回复  更多评论    

只有注册用户登录后才能发表评论。


网站导航: