我已经创建了 jsp 页面来显示来自 xml 数据的网格。下面我展示了我的jsp(解析jsp
) 页面和 xml (display.xml) 页面。
解析.jsp
%@ page contentType="text/html"%>
%@ page import="javax.xml.parsers.DocumentBuilderFactory,
javax.xml.parsers.DocumentBuilder,org.w3c.dom.*"
%>
%
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
Document doc = db.parse("http://10.100.133.106:50000/XMII/CM/Glory/Sample/display.xml");
NodeList nl= doc.getElementsByTagName("title");
NodeList n2= doc.getElementsByTagName("author");
NodeList n3= doc.getElementsByTagName("year");
NodeList n4= doc.getElementsByTagName("price");
%>
html>
body><center>
table width="500" border="0" cellspacing="0" cellpadding="0">
tr>
td style="background:#000033;color:#FFFFFF;font-weight:bold;">Title/td>
td style="background:#000033;color:#FFFFFF;font-weight:bold;">Author/td>
td style="background:#000033;color:#FFFFFF;font-weight:bold;">Year/td>
td style="background:#000033;color:#FFFFFF;font-weight:bold;">Price/td>
/tr>
tr>
<%
for(int i=0;i<3;i++)
{
%>
<td><%= nl.item(i).getFirstChild().getNodeValue() %></td>
<td><%= n2.item(i).getFirstChild().getNodeValue() %></td>
<td><%= n3.item(i).getFirstChild().getNodeValue() %></td>
<td><%= n4.item(i).getFirstChild().getNodeValue() %></td>
</tr>
<%
}
%>
/table>
/center>
/body>
/html>
显示.xml
?xml version="1.0" encoding="ISO-8859-1" ?>
bookstore>
book category="COOKING">
title lang="en">Everyday Italian/title>
author>Giada De Laurentiis/author>
year>2005/year>
price>30.00/price>
/book>
book category="CHILDREN">
title lang="en">Harry Potter/title>
author>J K. Rowling/author>
year>2005/year>
price>29.99/price>
/book>
book category="WEB">
title lang="en">Learning XML/title>
author>Erik T. Ray/author>
year>2003/year>
\price>39.95/price>
\book>
\/bookstore>
执行时收到以下错误报告。
错误:“请求处理期间发生应用程序错误。”
故障排除指南 https://sdn.sap.com/irj/sdn/wiki?path=/display/JSTS/Home
细节:
org.xml.sax.SAXParseException:文档中根元素之后的标记必须格式正确。在 com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:264) 在 com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:292)在 javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:165)
at JEE_jsp_CM_Glory_Sample_displayXML_8904750_1340860399234_1340860399922._jspService(JEE_jsp_CM_Glory_Sample_displayXML_8904750_1340860399234_1340860399922.java:51) at com.sap.engine.services.servlets_jsp.lib.jspruntime.JspBase.service(JspBase.java:102) at com.sap.engine.services.servlets_jsp.server.Invokable .invoke(Invokable.java:140) 在 com.sap.engine.services.servlets_jsp.server.servlet.JSPServlet.service(JSPServlet.java:436) 在 com.sap.engine.services.servlets_jsp.server.servlet.JSPServlet .service(JSPServlet.java:240) 在 javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
在 com.sap.engine.services.servlets_jsp.server.runtime.FilterChainImpl.runServlet(FilterChainImpl.java:162) 在 com.sap.engine.services.servlets_jsp.server.runtime.FilterChainImpl.doFilter(FilterChainImpl.java:81)在 com.sap.xmii.system.SecurityFilter.doFilter(SecurityFilter.java:96) 在 com.sap.engine.services.servlets_jsp.server.runtime.FilterChainImpl.doFilter(FilterChainImpl.java:73) 在 com.sap.xmii .system.SecurityFilter.doFilter(SecurityFilter.java:96) 在 com.sap.engine.services.servlets_jsp.server.runtime.FilterChainImpl.doFilter(FilterChainImpl.java:73) 在 com.sap.engine.services.servlets_jsp.server .HttpHandlerImpl.runServlet(HttpHandlerImpl.java:461) 在 com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:298) 在 com.sap.engine.services.httpserver.server。RequestAnalizer.startServlet(RequestAnalizer.java:397) 在 com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:386) 在 com.sap.engine.services.servlets_jsp.filters.DSRWebContainerFilter.process( DSRWebContainerFilter.java:48) 在 com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78) 在 com.sap.engine.services.servlets_jsp.filters.ServletSelector.process(ServletSelector.java: 83) 在 com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78) 在 com.sap.engine.services.servlets_jsp.filters.ApplicationSelector.process(ApplicationSelector.java:243) 在 com .sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78) 在 com.sap.engine.services.httpserver.filters.WebContainerInvoker。com.sap.engine.services.httpserver.chain.HostFilter.process(HostFilter.java:9) 处的流程(WebContainerInvoker.java:78) com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain. java:78) 在 com.sap.engine.services.httpserver.filters.ResponseLogWriter.process(ResponseLogWriter.java:60) 在 com.sap.engine.services.httpserver.chain.HostFilter.process(HostFilter.java:9)在 com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78) 在 com.sap.engine.services.httpserver.filters.DefineHostFilter.process(DefineHostFilter.java:27) 在 com.sap .engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12) 在 com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78) 在 com.sap.engine.services .httpserver.filters.MonitoringFilter。com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12) 上的流程(MonitoringFilter.java:29) com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain. java:78) 在 com.sap.engine.services.httpserver.filters.MemoryStatisticFilter.process(MemoryStatisticFilter.java:43) 在 com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)在 com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78) 在 com.sap.engine.services.httpserver.filters.DSRHttpFilter.process(DSRHttpFilter.java:42) 在 com.sap .engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12) 在 com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78) 在 com.sap.engine.services .httpserver.server.Processor。在 com.sap.engine.services.httpserver.server.Processor$FCAProcessorThread.process(Processor.java:247) 上的 chainedRequest(Processor.java:428) 在 com.sap.engine.services.httpserver.server.rcm.RequestProcessorThread。在 com.sap.engine.core.thread.execution.Executable.run(Executable.java:122) 在 com.sap.engine.core.thread.execution.Executable.run(Executable. java:101) 在 com.sap.engine.core.thread.execution.CentralExecutor$SingleThread.run(CentralExecutor.java:327)engine.core.thread.execution.Executable.run(Executable.java:101) 在 com.sap.engine.core.thread.execution.CentralExecutor$SingleThread.run(CentralExecutor.java:327)engine.core.thread.execution.Executable.run(Executable.java:101) 在 com.sap.engine.core.thread.execution.CentralExecutor$SingleThread.run(CentralExecutor.java:327)
但是xml数据得到了很好的证实。请解决这个问题
问候,