posts - 2, comments - 27, trackbacks - 0, articles - 60
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

在JBOSS中使用JSTL

Posted on 2008-09-08 23:10 ZhouFeng 阅读(1249) 评论(0)  编辑  收藏 所属分类: Web开发Web服务器
今天,经过一番折腾,终于在JBOSS中用上了JSTL,心里感觉蛮有点收获的,花点时间写下一点笔记
首先在APACHE网站上可以下载JSTL(我下载的是jakarta-taglibs-standard-1.1.2.zip),可能后面的版本会有点变化
解压ZIP文件,将里面的standard.jar和jstl.jar文件放在工程中的/WEB-INF/lib目录中
在/WEB-INF目录下建一个新的文件夹tld
将zip文件里的*.tld文件解压放在/WEB-INF/tld目录中
修改/WEB-INF/web.xml文件加入如下内容


<taglib>
    
<taglib-uri>http://java.sun.com/jstl/fmt</taglib-uri>
    
<taglib-location>/WEB-INF/tld/fmt.tld</taglib-location>
</taglib> 

<taglib>
    
<taglib-uri>http://java.sun.com/jstl/fmt-rt</taglib-uri>
    
<taglib-location>/WEB-INF/tld/fmt-1_0-rt.tld</taglib-location>
</taglib> 

<taglib>
    
<taglib-uri>http://java.sun.com/jstl/core</taglib-uri>
    
<taglib-location>/WEB-INF/tld/c.tld</taglib-location>
</taglib> 

<taglib>
    
<taglib-uri>http://java.sun.com/jstl/core-rt</taglib-uri>
    
<taglib-location>/WEB-INF/tld/c-1_0-rt.tld</taglib-location>
</taglib> 

<taglib>
    
<taglib-uri>http://java.sun.com/jstl/sql</taglib-uri>
    
<taglib-location>/WEB-INF/tld/sql.tld</taglib-location>
</taglib> 

<taglib>
    
<taglib-uri>http://java.sun.com/jstl/sql-rt</taglib-uri>
    
<taglib-location>/WEB-INF/tld/sql-1_0-rt.tld</taglib-location>
</taglib> 

<taglib>
    
<taglib-uri>http://java.sun.com/jstl/x</taglib-uri>
    
<taglib-location>/WEB-INF/tld/x.tld</taglib-location>
</taglib> 

<taglib>
    
<taglib-uri>http://java.sun.com/jstl/x-rt</taglib-uri>
    
<taglib-location>/WEB-INF/tld/x-1_0-rt.tld</taglib-location>
</taglib>
其实可以根据使用的情况,仅将需要的tld加入到工程
布置好了.jar文件和.tld文件,以及修改了web.xml文件后,就可以在JSP页面里试试JSTL标签的魅力了
stulist.jsp
 1 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
 2 
 3 <%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql" %>
 4 <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
 5 
 6 
 7 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 8 <html>
 9   <head>
10     <title>page</title>
11   </head>
12   
13   <sql:query var="rs" dataSource="ks2">
14       SELECT * FROM STU
15   </sql:query>
16   
17   <body>
18       <h3>学生情况<br>
19       <TABLE align="center" border="1" width="95%">
20           <tr><td>序号</td><td>学号</td><td>姓名</td></tr>
21           
22           <c:forEach var="row" items="${rs.rows}" varStatus="stat">
23               <tr><td>${stat.count}</td><td>${row.stunum}</td><td>${row.stuname}</td></tr>
24           </c:forEach>
25           
26       </TABLE>
27   </body>
28 </html>
这样的页面似乎简洁多了,看着就一个字"清爽":)

在这里还得补充一下,我是在JBOSS下做的,在<sql:query>标签里指定dataSource里碰到点问题,我的数据源是在jboss4\server\default\deploy\mysql-ds.xml里配置的,配置的数据源名字是ks,可在运行这个页面时总是提示找不到数据源,查了一些资料发现问题所在,要让JSTL能夠顺利使用JNDI的DataSource,还得在web.xml和jboss-web.xml里做修改,好让应用程序可以找到JNDI的服务,在/WEB-INF/下新建一文件jboss-web.xml,其内容如下
<?xml version="1.0" encoding="UTF-8"?>
<jboss-web>
    
<resource-ref>
        
<res-ref-name>ks2</res-ref-name>
        
<jndi-name>java:ks</jndi-name>
    
</resource-ref>
</jboss-web>
然后在web.xml里加如下面的内容
<resource-ref>
  
<res-ref-name>ks2</res-ref-name>
  
<res-type>javax.sql.DataSource</res-type>
  
<res-auth>Container</res-auth>
</resource-ref>
这样处理之后,在JBOSS中使用JSTL数据源的问题就解决了
刷新页面,希望看到的结果出来了,OK!
今天终于体验一了下JSTL,真是酷哇,页面比以前写的简洁多了,看来得找个时间好好学习一下这个东东了


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


网站导航: