Struts秘籍之第2段:第3.1式: 使用JSTL

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

 

你可能感兴趣的:(Struts秘籍之第2段:第3.1式: 使用JSTL)