關於jsp中使用jstl

    很久沒有寫自己的blog了,因爲這一段時間比較忙,抱歉了!
    上個星期遇到了一個問題,我本來想在自己的web系統中使用jsp的標準標籤,我在自己的jsp文件中添加了<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core"%>,然後我再使用c標籤的時候,我的頁面卻總是報這樣的錯誤
According to TLD or attribute directive in tag file, attribute items does not accept any expressions
大體上是說根據我的tag文件,items屬性中不能接受任何的表達式語言,以前從來沒有遇到過這樣的事情,用到jsp標準標籤的時候幾乎都是拷貝過來配置一下就可以使用了。現在只要使用迭代標籤就會報錯!
    
     我上網搜索了一下發現很多人都遇到了同樣的問題,大體的原因是因爲版本不兼容的問題。但是試驗了幾次都沒有成功。
     具體的解決方法:
     1:從apache的網站上down下了新的standard.jar、jstl.jar和c.tld。我發現新的文件的確比我原來的文件要大,而且c.tld文件的內容已經不一樣了。更新了jar文件和tld文件。
     2:我的web.xml文件的配置是
           
<web-app xmlns="[url]http://java.sun.com/xml/ns/j2ee[/url]"
xmlns:xsi="[url]http://www.w3.org/2001/XMLSchema-instance[/url]" xsi:schemaLocation="[url]http://java.sun.com/xml/ns/j2ee[/url] [url]http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd[/url]"
version="2.4">
 
           web.xml文件中也不需要配置tag標籤,也就是c.tld文件的位置,只需要拷貝到WEB-INF目錄下面即可,這應該得益於jsp2.0的規範了,它可以自動尋找到。
    3:把<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
          改爲<%@ taglib uri="[url]http://java.sun.com/jstl/core_rt[/url]" prefix="c" %>
 
    重新啓動web程序,測試通過了。果然就是版本不兼容的問題了。呵呵!
   
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章