2005/11/01 | 又是一个错误
类别(我的文档[原创]) | 评论(1) | 阅读(862) | 发表于 20:15
org.apache.jasper.JasperException: /hxymail/editoutermail.jsp(9,0) According to TLD or attribute directive in tag file, attribute items does not accept any expressions.....
在JSP页面头引入<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core"%>
在页面中使用:<c:forEach>或者<c:out>出现的错误。
tag的属性不支持表达式传入。


------------------------------------------------------------------------
搜寻一下这个错误,竟然有.....
比较多的看法是:jstl.jar和standard.jar包太老了与服务器不兼容,解决方法是:在tld文件的相应tag的相应属性中加上rtexprvalue属性并设置为true。可是这两个包在apache上是最新的,服务器是Tomcat5.028,也不会是问题。没有办法死马当活马医了,可是找来找去,发现out tag的rtexprvalue也为true。
不能解决问题
------------------------------------------------------------------------
在使用<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c"%>
<% String pageoffset = "0";%>
<c:param name="pager.offset" value="<%=pageoffset%>" />
出现According to TLD or attribute directive in tag file, attribute value does not accept any expressions
如果使用<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
支持表达式求值
完全支持EL表达式是web.xml的头
应该用
<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 java.sun.com/xml/ns/j2ee/web-app_2_4.xsd";
version="2.4">
不是
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/j2ee/dtds/web-app_2_3.dtd">
其实这个dtd也不对,应该为
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
" java.sun.com/dtd/web-app_2_3.dtd">;
还是不能解决问题
--------------------------------------------------

把<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
改为<%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c" %>,没有错误,果然是版本问题


0

评论Comments