我正在迁移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?
答案 0 :(得分:1)
事实证明,新的东西在语法
方面非常具体如果你的文字“@”和“taglib”部分之间没有空格,请注意这一点!
此外,您必须在“c”和标记“%>”的结尾之间留出空格
如果你不这样做,就会导致很大的愚蠢错误,而不是如何解决这个问题。
答案 1 :(得分:1)
我在WAS v8也有这个问题。并通过以下方式修复:
管理控制台 - >应用程序服务器 - > (serverName) - >卷筒纸 容器 - >自定义属性:
com.ibm.wsspi.jsp.allowtaglibprefixredefinition =真
答案 2 :(得分:0)
这解决了我的问题!!我的taglib导入完全相同所以我仍然不知道我的环境中问题的根本原因(在RAD 8.0.3中运行的WebSphere 7)。如果导入都指向同一名称空间,则不应该抱怨。此修复程序基本上告诉服务器忽略错误而不是防止发生错误。
如果我找到更多信息,我会回复。