[转]attribute value does not accept any expression

转自:http://hi.baidu.com/jllinhe/blog/item/8387103ba8836ae815cecb32.html

应用部署运行的时候出现JSP异常, 发生在使用JSTL库的时候: According to TLD or attribute directive in tag file, attribute value does not accept any expression, 可能是因为使用了JSP2.0版本, 同时又没有使用JSTL core库的备用版本(RT库), 以下有两种处理方法:

1. 修改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 http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4">

改为2.3版本的

<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>

2. 使用JSTL core RT库

JSTL core库的有两种taglib伪指令, 其中RT库即是依赖于JSP传统的请求时属性值, 而不是依赖于EL来实现(称为EL库.JSP2.0将支持EL)

JSP中使用<%@ taglib uri=http://java.sun.com/jstl/core prefix="c"%>在2.3版本都可以,在2.4就不行了, 难道是版本不兼容吗?

只要将

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

改为

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

就没有问题了

posted on 2007-09-18 11:40 hijackwust 阅读(1840) 评论(2)  编辑  收藏

评论

# re: [转]attribute value does not accept any expression 2007-09-18 13:40 Tiger F

你使用的jstl声明是早期版本的,现在的声明方式应该如下:
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
这样不论在2.3还是2.4版本下都不会有不支持el的问题了。  回复  更多评论   

# re: [转]attribute value does not accept any expression 2007-09-18 22:42 朱智武

谢谢啊。学到新东东了。  回复  更多评论   


只有注册用户登录后才能发表评论。


网站导航:
 
<2007年9月>
2627282930311
2345678
9101112131415
16171819202122
23242526272829
30123456

导航

统计

常用链接

留言簿(6)

随笔档案(57)

友情链接

搜索

最新评论

阅读排行榜

评论排行榜