PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : JSP / JSTL - XML/XSL-Transform wirft NPE


MeLLe
2006-06-02, 10:47:44
Guten Tag =)

vielleicht hat einer von euch schon Erfahrung und/oder eine Idee, warum mein kleiner XML/XSL-Test nicht so will, wie ich das gerne hätte.

Umgebung
- Tomcat 5.5.x auf SuSE 9.1
- JDK 1.5.x
- JSTL, Xalan, Xerces, Jakarta Taglibs

Problem
Ich versuche dieses XML-Dokument (getData.xml)
<?xml version="1.0" encoding="windows-1252"?>
<dbdata>
<queuesize>
<datetime>2006 05 31 11 01</datetime>
<count>4</count>
</queuesize>
<queuesize>
<datetime>2006 05 31 11 03</datetime>
<count>6</count>
</queuesize>
<queuesize>
<datetime>2006 05 31 11 05</datetime>
<count>9</count>
</queuesize>
<queuesize>
<datetime>2006 05 31 11 08</datetime>
<count>8</count>
</queuesize>
</dbdata>
mit Hilfe dieses XSL-Files (formatReport.xsl)
<?xml version='1.0' encoding='windows-1252'?>
<xsl:stylesheet version="1.0" xmlns="http://www.w3c.org/1999/XSL/Transform">
<xsl:template match="dbdata">Daten
<table border="1">
<tr>
<th>Datum</th>
<th>Anzahl</th>
</tr>
<xsl:apply-templates />
</table>
</xsl:template>
<xsl:template match="queuesize">
<tr>
<td><xsl:value-of select="datetime"></td>
<td><xsl:value-of select="count"></td>
</tr>
</xsl:template>
</xsl:stylesheet>
durch diese JSP-Seite (showData.jsp)
<%@ page contentType="text/html;charset=windows-1252" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core_rt" %>
<%@ taglib prefix="x" uri="http://java.sun.com/jstl/xml_rt" %>

<html>
<head>
<title>
DBTM Message Queue Size
</title>
<script language="JavaScript" type="text/javascript">

</script>
</head>
<body>
<c:import url="getData.xml" varReader="datadoc" >
<x:parse var="xmldatadoc" xml="${datadoc}" scope="session" />
</c:import>
<c:import var="xslt" url="formatReport.xsl" />
<x:transform xml="${xmldatadoc}" xslt="${xslt}" />
</body>
</html>
zu transformieren.

Leider wirft mir der Tomcat genau beim letzten x-Tag (x:transform) folgende NullPointerException
java.lang.NullPointerException
org.apache.taglibs.standard.tag.common.xml.TransformSupport.doEndTag(Unknown Source)
org.apache.jsp.admin.dbtm_005fmessages.showData_jsp._jspx_meth_x_transform_0(org .apache.jsp.admin.dbtm_005fmessages.showData_jsp:208)
org.apache.jsp.admin.dbtm_005fmessages.showData_jsp._jspService(org.apache.jsp.a dmin.dbtm_005fmessages.showData_jsp:84)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)


und ich habe keine Ahnung, warum. Dateien sind alle vorhanden, zugreifbar, usw usf.

Habe ich einen Denk- und/oder Konfigurationsfehler gemacht?

Besten Dank schonmal :)

MeLLe
2006-06-09, 15:05:11
War ein Problem mit der JSTL auf dem Tomcat.
Einmal richtig (!) installiert + konfiguriert, und schon läufts =)