powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / JSTL <x:parse>
13 сообщений из 13, страница 1 из 1
JSTL <x:parse>
    #33781011
yelena
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Объясните мне, пожалуйста, в чем моя ошибка:

Вот код jsp-страницы:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
<%@page contentType="text/html; charset=windows-1251"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/xml" prefix="x"%>
<html>
<head>
<title>index</title>
</head>
<body bgcolor="#ffffff">
<c: import  url="http://localhost:8083/WebModule1/test.xml" var="xml" charEncoding="windows-1251"/>
<x:parse doc="${xml}" var="doc" scope="application"/>
<c:out value="${xml}"/>
<c:out value="${doc}"/>
<x:out select="$doc/tutorial/dogs/dog/dogName"/>
</body>
</html>

Это содержимое файла test.xml:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
<?xml version="1.0" encoding="WINDOWS-1251"?>
<tutorial>
<dogs>
  <dog>
    <dogName>Шарик</dogName>
    <dogWeight caption="кг"> 18 </dogWeight>
    <dogColor>рыжий с черными подпалинами</dogColor>
  </dog>
  <dog>
    <dogName>Тузик</dogName>
    <dogWeight caption="кг"> 10 </dogWeight>
    <dogColor>белый с черными пятнами</dogColor>
  </dog>
  <dog>
    <dogName>Бобик</dogName>
    <dogWeight caption="кг"> 2 </dogWeight>
    <dogColor>бело-серый</dogColor>
  </dog>
  <dog>
    <dogName>Трезор</dogName>
    <dogWeight caption="кг"> 25 </dogWeight>
    <dogColor>черный</dogColor>
  </dog>
</dogs>
</tutorial>

Появляется сообщение об ошибке:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
exception javax.servlet.ServletException: org/apache/xpath/XPathException
 org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java: 848 )
 org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java: 781 )
 org.apache.jsp.index_jsp._jspService(org.apache.jsp.index_jsp: 95 )
 org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java: 97 )
 javax.servlet.http.HttpServlet.service(HttpServlet.java: 802 )
 org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java: 322 )
 org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java: 291 )
 org.apache.jasper.servlet.JspServlet.service(JspServlet.java: 241 )
 javax.servlet.http.HttpServlet.service(HttpServlet.java: 802 )
root cause java.lang.NoClassDefFoundError: org/apache/xpath/XPathException
 java.lang.ClassLoader.defineClass1( Native  Method)
 java.lang.ClassLoader.defineClass(ClassLoader.java: 620 )
 java.security.SecureClassLoader.defineClass(SecureClassLoader.java: 124 )
 org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java: 1629 )
 org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java: 850 )
 org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java: 1299 )
 org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java: 1181 )
 java.lang.ClassLoader.loadClassInternal(ClassLoader.java: 319 )
 org.apache.taglibs.standard.tag.common.xml.ExprSupport.doStartTag(ExprSupport.java: 63 )
 org.apache.jsp.index_jsp._jspx_meth_x_out_0(org.apache.jsp.index_jsp: 188 )
 org.apache.jsp.index_jsp._jspService(org.apache.jsp.index_jsp: 85 )
 org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java: 97 )
 javax.servlet.http.HttpServlet.service(HttpServlet.java: 802 )
 org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java: 322 )
 org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java: 291 )
 org.apache.jasper.servlet.JspServlet.service(JspServlet.java: 241 )
 javax.servlet.http.HttpServlet.service(HttpServlet.java: 802 )

Не вижу своей ошибки.
Пожалуйста, помогите. :(
...
Рейтинг: 0 / 0
JSTL <x:parse>
    #33781082
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может быть:
Код: plaintext
root cause java.lang.NoClassDefFoundError: org/apache/xpath/XPathException
Добавь Xalan к библиотекам: http://xalan.apache.org/
...
Рейтинг: 0 / 0
JSTL <x:parse>
    #33781263
yelena
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Тогда возникают еще несколько вопросов:

1. Каким образом у меня в другом примере срабатывают трасформации <x:transform>, если не подключена библиотека Xalan?

2. Скачала xalan-j_2_7_0-src-2jars.zip. Какие jar из него нужно использовать?
...
Рейтинг: 0 / 0
JSTL <x:parse>
    #33781340
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
yelena wrote:
> 1. Каким образом у меня в другом примере срабатывают трасформации
> <x:transform>, если не подключена библиотека Xalan?

Может быть потому, что они срабатывают:) Т.е. сообщение об отсутствии
XPathException скрывает какую-то другую ошибку. К примеру, производится разбор
XML, что-то там не получается и идет попытка вернуть этот самый XPathException.
Но класс не находится и возвращается сообщение об его отсутствии.

>
> 2. Скачала xalan-j_2_7_0-src-2jars.zip. Какие jar из него нужно
> использовать?

Это исходники, скачай лучше xalan-j_2_7_0-bin.zip, в нем класс
org.apache.xpath.XPathException есть в файле xalan.jar.
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
JSTL <x:parse>
    #33781353
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Denis Popov wrote:
> Это исходники, скачай лучше xalan-j_2_7_0-bin.zip, в нем класс
> org.apache.xpath.XPathException есть в файле xalan.jar.

Или xalan-j_2_7_0-bin-2jars.zip
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
JSTL <x:parse>
    #33781456
yelena
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Denis PopovМожет быть:
Код: plaintext
root cause java.lang.NoClassDefFoundError: org/apache/xpath/XPathException
Добавь Xalan к библиотекам: http://xalan.apache.org/

Спасибо, при добавлении к томкэту xalan.jar <x:parse> заработал.

Но перестали работать траснформации в другом примере:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
exception javax.servlet.ServletException: org/apache/xml/serializer/SerializerTrace
 org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java: 848 )
 org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java: 781 )
 org.apache.jsp.index_jsp._jspService(org.apache.jsp.index_jsp: 81 )
 org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java: 97 )
 javax.servlet.http.HttpServlet.service(HttpServlet.java: 802 )
 org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java: 322 )
 org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java: 291 )
 org.apache.jasper.servlet.JspServlet.service(JspServlet.java: 241 )
 javax.servlet.http.HttpServlet.service(HttpServlet.java: 802 )
root cause java.lang.NoClassDefFoundError: org/apache/xml/serializer/SerializerTrace
 java.lang.ClassLoader.defineClass1( Native  Method)
 java.lang.ClassLoader.defineClass(ClassLoader.java: 620 )
 java.security.SecureClassLoader.defineClass(SecureClassLoader.java: 124 )
 java.net.URLClassLoader.defineClass(URLClassLoader.java: 260 )
 java.net.URLClassLoader.access$ 100 (URLClassLoader.java: 56 )
 java.net.URLClassLoader$ 1 .run(URLClassLoader.java: 195 )
 java.security.AccessController.doPrivileged( Native  Method)
 java.net.URLClassLoader.findClass(URLClassLoader.java: 188 )
 java.lang.ClassLoader.loadClass(ClassLoader.java: 306 )
 java.lang.ClassLoader.loadClass(ClassLoader.java: 251 )
 java.lang.ClassLoader.loadClassInternal(ClassLoader.java: 319 )
 org.apache.xalan.processor.ProcessorStylesheetElement.getStylesheetRoot(ProcessorStylesheetElement.java: 121 )
 org.apache.xalan.processor.ProcessorStylesheetElement.startElement(ProcessorStylesheetElement.java: 72 )
 org.apache.xalan.processor.StylesheetHandler.startElement(StylesheetHandler.java: 623 )
 com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java: 533 )
 com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java: 330 )
 com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl$NSContentDispatcher.scanRootElementHook(XMLNSDocumentScannerImpl.java: 779 )
 com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(XMLDocumentFragmentScannerImpl.java: 1794 )
 com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java: 368 )
 com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java: 834 )
 com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java: 764 )
 com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java: 148 )
 com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java: 1242 )
 org.apache.xalan.processor.TransformerFactoryImpl.newTemplates(TransformerFactoryImpl.java: 920 )
 org.apache.xalan.processor.TransformerFactoryImpl.newTransformer(TransformerFactoryImpl.java: 774 )
 org.apache.taglibs.standard.tag.common.xml.TransformSupport.doStartTag(TransformSupport.java: 145 )
 org.apache.jsp.index_jsp._jspx_meth_x_transform_0(org.apache.jsp.index_jsp: 152 )
 org.apache.jsp.index_jsp._jspService(org.apache.jsp.index_jsp: 71 )
 org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java: 97 )
 javax.servlet.http.HttpServlet.service(HttpServlet.java: 802 )
 org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java: 322 )
 org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java: 291 )
 org.apache.jasper.servlet.JspServlet.service(JspServlet.java: 241 )
 javax.servlet.http.HttpServlet.service(HttpServlet.java: 802 )

Кто-нибудь может прояснить ситуацию?
Что нужно устанавливать, а что не нужно, чтобы нормально использовать <x:parse> и <x:transform>?
...
Рейтинг: 0 / 0
JSTL <x:parse>
    #33781499
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
yelena
Но перестали работать траснформации в другом примере:
Код: plaintext
1.
2.
..
root cause java.lang.NoClassDefFoundError: org/apache/xml/serializer/SerializerTrace
Кто-нибудь может прояснить ситуацию?
Что нужно устанавливать, а что не нужно, чтобы нормально использовать <x:parse> и <x:transform>?
SerializerTrace лежит тоже в Xalan'е, файл serializer.jar. Смотри, что у них самих написано:
http://xml.apache.org/xalan-j/downloads.html
автор
To use Xalan-Java, you need the following:

*The JDK or JRE 1.3.x, 1.4.x, or 5.x
You can get the JDK or JRE from IBM developerWorks or java.sun.com.
*xml-apis.jar (JAXP APIs)
*xercesImpl.jar (or another XML Parser)
*xalan.jar or xsltc.jar
*serializer.jar
*(Optional) Xalan Java source code
*(Optional) Packages to support extension functions and elements

Попробуй добавить все: serializer.jar, xalan.jar, xercesImpl.jar и xml-apis.jar.
...
Рейтинг: 0 / 0
JSTL <x:parse>
    #33781516
yelena
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
допустим, установлю
но проблема глубже
почему перестал работать тот пример, который не требовал установки xalan.jar?
...
Рейтинг: 0 / 0
JSTL <x:parse>
    #33781526
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
yelena wrote:
> почему перестал работать тот пример, который не требовал установки
> xalan.jar?

Покажи его.
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
JSTL <x:parse>
    #33781536
yelena
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
yelenaдопустим, установлю
но проблема глубже
почему перестал работать тот пример, который не требовал установки xalan.jar?

После добавления вышеперечисленных jar'ов при трансформации стала выскакивать следующая ошибка:

file:///D:/my_projects/JSP/xml/Tomcat/jstl:; Номер строки13; Номер столбца77; xsl:sort недопустимо в данной позиции таблицы стилей!

а без добавления библиотек <x:transform> срабатывал нормально

да и трансформация вне jsp-страницы срабатывает нормально.

Вопрос остается открытым: какие библиотеки нужно устанавливать, что нормально работать с <x:parse> и <x:transform>?
...
Рейтинг: 0 / 0
JSTL <x:parse>
    #33781550
yelena
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пример с трансформациями:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
<%@page contentType="text/html; charset=windows-1251"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/xml" prefix="x"%>
<html>
<head>
<title>index</title>
</head>
<body bgcolor="#ffffff">
<c: import  url="http://localhost:8083/WebModule1/test.xml" var="xml" charEncoding="windows-1251"/>
<c: import  url="http://localhost:8083/WebModule1/test.xsl" var="xslt" charEncoding="windows-1251"/>
<x:transform xml="${xml}" xslt="${xslt}"/>
</body>
</html>

test.xml:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
<?xml version="1.0" encoding="WINDOWS-1251"?>
<tutorial>
<dogs>
  <dog>
    <dogName>Шарик</dogName>
    <dogWeight caption="кг"> 18 </dogWeight>
    <dogColor>рыжий с черными подпалинами</dogColor>
  </dog>
  <dog>
    <dogName>Тузик</dogName>
    <dogWeight caption="кг"> 10 </dogWeight>
    <dogColor>белый с черными пятнами</dogColor>
  </dog>
  <dog>
    <dogName>Бобик</dogName>
    <dogWeight caption="кг"> 2 </dogWeight>
    <dogColor>бело-серый</dogColor>
  </dog>
  <dog>
    <dogName>Трезор</dogName>
    <dogWeight caption="кг"> 25 </dogWeight>
    <dogColor>черный</dogColor>
  </dog>
</dogs>
</tutorial>

test.xsl:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
<?xml version="1.0" encoding="WINDOWS-1251"?>
<xsl:stylesheet version = "1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<table border="1">
<tr bgcolor="#CCCCCC">
<td align="center"><strong>Кличка</strong></td>
<td align="center"><strong>Вес</strong></td>
<td align="center"><strong>Цвет</strong></td>
</tr>
<xsl:variable name="varStartWith">Т</xsl:variable>
<xsl: for -each select="tutorial/dogs/dog">
<xsl:variable name="varDogName"><xsl:value-of select="dogName"/></xsl:variable>
<xsl:sort order="descending" select="number(dogWeight)" data-type="number"/>
<xsl: if  test="starts-with($varDogName,$varStartWith)">
<tr bgcolor="#F5F5F5">
<td><xsl:value-of select="dogName"/></td>
<td align="right"><xsl:value-of select="dogWeight"/>
  <xsl:value-of select="dogWeight/@caption"/></td>
<td><xsl:value-of select="dogColor"/></td>
</tr>
</xsl: if >
</xsl: for -each>
</table>
</xsl:template>
</xsl:stylesheet>
...
Рейтинг: 0 / 0
JSTL <x:parse>
    #33781691
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
yelena wrote:
> После добавления вышеперечисленных jar'ов при трансформации стала
> выскакивать следующая ошибка:
>
> file:///D:/my_projects/JSP/xml/Tomcat/jstl:; Номер строки13; Номер
> столбца77; xsl:sort недопустимо в данной позиции таблицы стилей!
>
> а без добавления библиотек <x:transform> срабатывал нормально
>


Поменяй в test.xsl местами сортировку и объявление переменной в цикле, т.е.
Код: plaintext
1.
2.
3.
4.
<xsl:variable name="varDogName">
   <xsl:value-of select="dogName"/>
</xsl:variable>
<xsl:sort order="descending" select="number(dogWeight)" data-type="number"/>
на
Код: plaintext
1.
2.
3.
4.
<xsl:sort order="descending" select="number(dogWeight)" data-type="number"/>
<xsl:variable name="varDogName">
   <xsl:value-of select="dogName"/>
</xsl:variable>

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
JSTL <x:parse>
    #33781710
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Denis Popov wrote:
> Поменяй в test.xsl местами сортировку и объявление переменной в цикле, т.е.


Т.е., насколько я понял, определение сортировки должно стоять непосредственно
после определения цикла.
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / JSTL <x:parse>
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]