`

tomcat向weblogic移植出现的问题系列 - taglib问题

阅读更多
由于tomcat无法支撑系统运行的,打算移植到weblogic上,一上来就碰到了一个头痛的问题,虽然今天处理到凌晨,不过这个问题终于解决了,也算是一个成就感了,马上记录下来。
移植jstl,在移植过程中出现如下问题
在tomcat中采用jstl显示的${pageContext.request.contextPath},移植到weblogic后报如下错误
weblogic.servlet.jsp.CompilationException: Failed to compile JSP /jsp/index.jsp
index.jsp:51:21: This attribute does not support request time values.
<frame src="<c:out value='${pageContext.request.contextPath}'/>/jsp/home/main.jsp" name="" scrolling=yes marginwidth=0 marginheight=0>
                    ^---^

首先考虑是jar包的问题,然后想办法添加如下配置参数在weblogic.xml中,结果没有起到作用,而且还出其他错误,于是换回原来的方式
<charset-params>
   <input-charset>
    <resource-path>/*</resource-path>
    <java-charset-name>utf-8</java-charset-name>
    </input-charset>
</charset-params>
<container-descriptor>
    <prefer-web-inf-classes>true</prefer-web-inf-classes>
</container-descriptor>

一个偶然的机会,想把URI修改成tld文件的位置,结果发现问题解决了,真是误打误撞阿,后来发现修改成网上的URI也是可以的,于是判定是在web.xml中注册的URI没有起作用,所以确定问题点了,使在weblogic解析jsp是如果URI是一http打头的话,他是直接上网查询的,不是读取你的注册信息,所以有二种修改方式:
1、修改
<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c"%>
to
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
2、修改
<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c"%>
to
<%@ taglib uri="/WEB-INF/tld/c.tld" prefix="c"%>


我在bea的论坛上自己提出问题,自己答复,真是郁闷阿,看来大家都没有碰到这么郁闷的问题,见如下链接。
http://dev2dev.bea.com.cn/bbs/thread.jspa?forumID=121&threadID=45385&messageID=268995


分享到:
评论
3 楼 zhao0p 2008-08-05  
使在weblogic解析jsp是如果URI是一http打头的话,他是直接上网查询的,不是读取你的注册信息,所以有二种修改方式?????
真是这样吗?url并不是网上的地址,而是jar包里tld的声明。
2 楼 fight_bird 2007-12-16  
删除WLS的运行时缓冲文件夹,让它启动时重建即可。

你这样处理是绕过问题,类似问题在你修改tld内容是会再次出现。
1 楼 nan_jia 2007-12-16  
应该是Jar包的问题吧.

相关推荐

Global site tag (gtag.js) - Google Analytics