日期:2014-05-16  浏览次数:20402 次

记Struts2中使用JSTL tag lib 的错误

帮同事调一个JSTL的页面错误:

错误信息:

org.apache.jasper.JasperException: /(24,5) According to TLD or attribute directive in tag file, attribute value does not accept any expressions

---------------------------------------------

参照资料地址:http://topic.csdn.net/u/20090425/11/260d68b9-ab50-4291-9981-8346c0ad3d9d.html 

使用JSTL tag不需要在web.xml里添加下列代码:

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


 

而只需要把jstl.jar和stardard.jar放入WEB-INF/lib目录里即可使用

对于JSTL core tag, 如果使用下面声明:

<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>  

则报错:

According to TLD or attribute directive in tag file, attribute value does not accept any expressions

解决方法是把声明改为

<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core_rt" %>