理解迁移到Websphere 7的核心taglib

时间:2010-09-16 20:43:05

标签: jstl

我正在迁移ADF应用程序以在Websphere 7中运行。

基本上我要转向jstl 1.2

我创建了一个新项目,现在我可以运行jsps了。

我开始收到taglibs的错误。然后我发现我必须使用java.sun.com/jsp/jstl/core的新uri而不是java.sun.com/jstl/core

替换所有我的c taglib声明。

我对每个jsp文件都这样做了。现在,当我发布并尝试运行它时,我得到了这个错误。

[Servlet Error]-[/index.jsp]: com.ibm.ws.jsp.JspCoreException: /index.jsp(742,56) /included.jsp(4,58) JSPG0240E: Attempt to redefine the prefix "c" to "http://java.sun.com/jstl/core", when it was already defined as "http://java.sun.com/jsp/jstl/core" in the current scope.

现在每个页面都有新的uri。为什么要尝试将它重新定义为旧的uri?

3 个答案:

答案 0 :(得分:1)

事实证明,新的东西在语法

方面非常具体

如果你的文字“@”和“taglib”部分之间没有空格,请注意这一点!

此外,您必须在“c”和标记“%>”的结尾之间留出空格

如果你不这样做,就会导致很大的愚蠢错误,而不是如何解决这个问题。

答案 1 :(得分:1)

我在WAS v8也有这个问题。并通过以下方式修复:

管理控制台 - >应用程序服务器 - > (serverName) - >卷筒纸 容器 - >自定义属性:

com.ibm.wsspi.jsp.allowtaglibprefixredefinition =真

PM38186: JSPG0240E: ATTEMPT TO REDEFINE THE PREFIX WHEN IT WAS ALREADY DEFINED IN CURRENT SCOPE ERROR IN WEBSPHERE APPLICATION SERVER 7

答案 2 :(得分:0)


这解决了我的问题!!我的taglib导入完全相同所以我仍然不知道我的环境中问题的根本原因(在RAD 8.0.3中运行的WebSphere 7)。如果导入都指向同一名称空间,则不应该抱怨。此修复程序基本上告诉服务器忽略错误而不是防止发生错误。

如果我找到更多信息,我会回复。