您的位置:首页 > 编程语言 > Java开发

jstl 结合struts 版本问题 According to TLD or attribute directive in tag file

2008-08-21 10:07 615 查看
在用stuts 写东东的时候遇到乱码问题 想用jstl实现转化 但是版本问题。。。

又遇见一高人

应用部署运行的时候出现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"%>
就没有问题了

看了半天还是不对。。。。。

最后在文章后面出现了

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

问题搞定-------------------------------我/web-app_2_5.xsd的这么写好像不怕版本限制
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐