0

InventoryReport.jsp 必须分析inventory.XML 文件,以便生成一个将列出商店中的每本书的融洽关系,为每本书生成一个警告,从数量低于指定的库存限制,列出所有从书籍开始的书籍较高的库存数量到较低的数量。

Tomcat生成的错误说:

org.apache.jasper.JasperException: An exception occurred processing JSP page /inventoryReport.jsp at line 22

19: <div>
20: <ul>
21: 
22: <x:forEach var="book" select="$doc/inventory/book">
23:    
24:     <li><x:out select="$book/title" /></li>
25: </x:forEach>

我试图分析这个错误,但由于我对这一切都不熟悉,所以看不到出了什么问题。

我的xml文件

<?xml version="1.0" encoding="utf-8"?>

<inventory>
  <book>
    <author>Pierre</author>
    <title>D&#233;veloppez vos applications web avec JRuby !</title>
    <date>Janvier 2012</date>
    <price>22</price>
    <stock>127</stock>
    <minimum>10</minimum>
  </book>
  <book>
    <author>Paul</author>
    <title>D&#233;couvrez la puissance du langage Perl</title>
    <date>Avril 2017</date>
    <price>26</price>
    <stock>74</stock>
    <minimum>10</minimum>
  </book>
  <book>
    <author>Matthieu</author>
    <title>Apprenez &#224; programmer en C</title>
    <date>Novembre 2009</date>
    <price>25</price>
    <stock>19</stock>
    <minimum>20</minimum>
  </book>
  <book>
    <author>Matthieu</author>
    <title>Concevez votre site web avec PHP et MySQL</title>
    <date>Mars 2010</date>
    <price>30</price>
    <stock>7</stock>
    <minimum>20</minimum>
  </book>
  <book>
    <author>Cysboy</author>
    <title>La programmation en Java</title>
    <date>Septembre 2010</date>
    <price>29</price>
    <stock>2000</stock>
    <minimum>20</minimum>
  </book>
</inventory> 

我的 .jsp 文件

<%@ page pageEncoding="UTF-8" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/xml" prefix="x" %>

<!DOCTYPE html>
<html>
  <head>
     <meta charset="utf-8" />
     <title>Inventory report</title>
  </head>
  <body>


<c:import url="inventory.xml" var="documentXML" />

<x:parse var="doc" doc="${documentXML}" />

<p><b>List of all the books :</b></p>
<div>
<ul>

<x:forEach var="book" select="$doc/inventory/book">

    <li><x:out select="$book/title" /></li>
</x:forEach>
</ul>
</div>

<p><b>List of books that needs re-stock :</b></p>
<div>
<ul>

<x:forEach var="book" select="$doc/inventory/book[stock < minimum]">

    <li><x:out select="$book/title" /> : <x:out select="$book/stock" /> 
    books in stock (limit before warning : <x:out select="$book/minimum" />)</li>
</x:forEach>
</ul>
</div>

<p><b>List of books classified by stock :</b></p>



  </body>
</html>

在此处输入图像描述

我尝试了一个更简单的练习(见下面的代码)但是tomcat不断返回这个错误:

org.apache.jasper.JasperException: An exception occurred processing JSP page /inventoryReport.jsp at line 17

14: <c:import url="inventory.xml" varReader="monReader">
15: 
16:    <x:parse var="doc" doc="${monReader}" />
17:   <x:out select="$doc/news/article/auteur" />
18:    
19:    
20:  

我的xml文件

<news>
  <article id="1">
    <auteur>Pierre</auteur>
    <titre>Foo...</titre>
    <contenu>...bar !</contenu>
  </article>
  <article id="27">
    <auteur>Paul</auteur>
    <titre>Bientôt un LdZ J2EE !</titre>
    <contenu>Woot ?</contenu>
  </article>
  <article id="102">
    <auteur>Jacques</auteur>
    <titre>Coyote court toujours</titre>
    <contenu>Bip bip !</contenu>
  </article>
</news>

我的 Jsp 文件

<%@ page pageEncoding="UTF-8" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/xml" prefix="x" %>

<!DOCTYPE html>
<html>
  <head>
     <meta charset="utf-8" />
     <title>Inventory report</title>
  </head>
  <body>


<c:import url="inventory.xml" varReader="monReader">

   <x:parse var="doc" doc="${monReader}" />
  <x:out select="$doc/news/article/auteur" />




</c:import>


  </body>
</html>
4

0 回答 0