jsp頁面中EL運算式不起作用的解決辦法
2009-09-21 09:30:32| 分類: 編程|字型大小 訂閱
我用的是myeclipse6.5 tomcat5.5,好像tomcat5.0以上都支援jstl。
我也是找了很多資料,嘗試了好多辦法,包括改jsp版本,下載包,修改web.xml等,後來可以了,但是改的地方很多,後來嘗試把一些修改的地方還原回來,還可以,最後只是按第一種方法就可以了。
法一:
jsp2.5
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.5" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
jsp2.4
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
version="2.4">
jsp2.4版本預設支援el運算式,但2,5預設關閉的
如果運算式不起作用,可以看一下jsp的版本。如果是2.5的,可以換成2.4試一下。
在Jsp頁面中添加
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>這樣一句話
這樣就可以了(我是這樣改的)
法二:
如果還不可以,可以嘗試下載jstl包
在http://jakarta.apache.org/taglibs/index.html下載
jakarta-taglibs-standard-current.zip ,解壓後,將tld檔案夾裡的.tld拷貝到web_inf下,把lib裡的jtsl.jar和standard.jar拷到工程的lib檔案夾下。
然後在jsp中
<%@ taglib prefix="c" uri="/WEB-INF/c.tld" %>
法三:
修改web.xml,加上下面的語句:
<jsp-config>
<taglib>
<taglib-uri>http://java.sun.com/jsp/jstl/core</taglib-uri>
<taglib-location>/WEB-INF/c.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>http://java.sun.com/jsp/jstl/xml</taglib-uri>
<taglib-location>/WEB-INF/x.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>http://java.sun.com/jsp/jstl/fmt</taglib-uri>
<taglib-location>/WEB-INF/fmt.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>http://java.sun.com/jsp/jstl/sql</taglib-uri>
<taglib-location>/WEB-INF/sql.tld</taglib-location>
</taglib>
</jsp-config>
JSP中匯入<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>。
參考資料很多,有些沒有記下來:如果沒解決,可以看看這2個網頁http://hi.baidu.com/yych13/blog/item/be00ea0985f05ec93ac76376.html
http://www.programfan.com/club/showtxt.asp?id=274120