我正在将一个Web应用程序从tomcat迁移到IBM Websphere 6.1。问题是当我导航到特定页面时出现此错误:
错误消息:JSPG0048E页面失败 使用taglib验证器进行验证 http:java.sun.com/jsp/jstl/core:
org.xml.sax.SAXParseException: 文件过早结束。
错误代码 :500目标servlet: folder1 / folder2 / page_name.jsp错误 堆栈: com.ibm.ws.jsp.translator.JspTranslationException :JSPG0048E页面无法验证 使用taglib验证器 http:java.sun.com/jsp/jstl/core:
org.xml.sax.SAXParseException: 提前结束。
在 com.ibm.ws.jsp.translator.visitor.validator.ValidateVisitor.validateTagLib(ValidateVisitor.java:1005) 在 com.ibm.ws.jsp.translator.visitor.validator.ValidateVisitor.visitJspRootStart(ValidateVisitor.java:465) 。 。
并且堆栈跟踪继续
来自jsp的代码行是
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
有人遇到过这个问题吗?
非常感谢提前 西蒙
答案 0 :(得分:0)
这不是taglib的问题。发生的事情是,在编译JSP之前,WebSphere Application Server通过使用SAX解析JSP来验证JSP。解析可能比Tomcat更严格。
“文件的过早结束”表示您对某些撇号或引号有问题,并且字符串永远不会被终止。不幸的是,来自这些情况的错误消息通常实际上是无用的。解决这类问题的最快方法通常是删除JSP代码并逐步输入,以找出破坏JSP的部分。