jstl与xml

上一篇 / 下一篇  2007-04-25 10:45:02 / 个人分类:java

我刚刚接触了一下jstl标签,在用jstl标签库使用的时候,感觉其他的标签还挺顺手,但在用到XML标签操作XML文件时,发现了一个小小的问题,然后上网查询了N多次还是无法解决,后来我无意中发现了解决的方法,其实方法就是很简单!但是我总结一下我的经过吧!

我的例子:

<%@page contentType="text/html" pageEncoding="GB2312"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="x" uri="http://java.sun.com/jsp/jstl/xml" %>

<html>
      <head>
         <title>JSTL与XML解释</title>
   </head>
   <body>
       <x:parse var="xmlbody">
        <customer>
           <customerid>2002</customerid>
     <customername>tea</customername>
     </customer>
    </x:parse>
    <b><u>解释XML本体内容</u></b><br>
    客户编号(customerid):
    <x:out select="$xmlbody/customer/customerid"/><br>
    客户姓名(customername):
    <x:out select="$xmlbody/customer/customername" /><br>
    
   </body>
</html>

运行后报错在红色的部分!!

错误显示为:javax.servlet.ServletException: java.lang.NoClassDefFoundError: org/apache/xpath/VariableStack

我上网查了语法,但是没有发现错误,我就奇怪什么原因,

后来才知道原来是我用的包少了一个,但是为什么书和网上的解说很多的不同呢?

经过我仔细的观察,网上的uri地址原来是:uri="http://java.sun.com/jstl/xml" 而且其他标签库德引用地址都少了那个/jsp/,然后我打开了那个jar看了里面的tld文件,才知道正确的写法是有uri="http://java.sun.com/jsp/jstl/xml" jsp这个地址的,我就不明白为什么其他人写的都没有,后来寻根问底了一下,我发现原来可能跟版本有关系。不过这只是插曲,没有进入正题呢,因为我的问题还没解决。

再过后我翻了很多其他的网站和教科书,都没有发现我的错误是在那里!之后我就上官网看了一下(之前为什么不上呢,那是我英文太烂了,官网的都是鸡肠,我看的太费力了),无意中给我发现(又是无意!!我披视自己哈哈……),原来教科书说的用jstl所要用的包是:jstl.jar、standard.jar这两个包,但是不知道为什么官网上有说要加xalan.jar、serializer.jar这个包!给我尝试了一下,终于没问题了。我就是气愤啊,就因为少用加jar,我搞了差不多2天2夜(有点夸张……其实就是经历2天2夜,其中共用时就那几个小时,哈哈……)。

不过终于搞好了,心安哦,总结了一下学jstl的过程,其他什么核心标签、sql标签、函数标签都只用两个包就可以了,但涉及到操作xml,就要加上xalan.jar、serializer.jar,原因在那啊?那你上官网看看就知道了,不过全部是鸡肠,反正我是看到头晕了—_—

还有就是关于用jstl在WEB-INF\web.xml的配置,其实就不用配置什么,将那jar全部拷到WEB\INF\lib下就可以了,不过要注意你的版本问题哦,最好找比较新的,而且要看看版本更新的说明书(不过又是鸡肠,晕啊……),因为在包里的就包含了配好了tld文件。

其它就靠自己罗,看书很重要,但是我看过很多书,不知道书上为什么老是会出现这些无聊的错误!唉…………

 


TAG: JAVA java

引用 删除 fa3   /   2008-07-29 19:44:35
Th u for it..
I've done it like what u 've done befor total afternoon..
fuck
引用 删除 Helloween   /   2007-11-30 10:44:40
Thank u. ^_^
引用 删除 lucy   /   2007-08-11 22:08:28
我也碰到相同的问题,现在的书写得真的是很不清楚,还好看到了你写的,原来要加上两个包呀,谢谢!
 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

日历

« 2008-12-02  
 123456
78910111213
14151617181920
21222324252627
28293031   

数据统计

  • 访问量: 9290
  • 日志数: 19
  • 图片数: 1
  • 建立时间: 2007-04-22
  • 更新时间: 2007-09-03

RSS订阅

Open Toolbar