Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> JSTL не пойму как работать с <x:set />, Не могу сожранить текск в переменную 
V
    Опции темы
x4444
Дата 25.12.2006, 15:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 41
Регистрация: 7.2.2006

Репутация: 1
Всего: 1



Проблема в том, что не могу сохранить текст полученный с помощью xpath в переменную

xml file
Код

<?xml version="1.0" encoding="UTF-8"?>
<persons>
    <person id='js890'>
        <name>Petrov</name>
    </person>
</persons>


JSP код:
Код

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

<html>
    <body>
        <c:import var="xml" url="sample.xml"/>
        <x:parse varDom="dom" xml="${xml}"/>
        <x:set var="perName" select="$dom/persons/person[@id='js890']/name"/>
        name=<c:out value="${perName}"/>
    </body>
</html>

Результат:
name=[[name: null]] 


Пробовал также 
Код

<x:set var="perName" select="$dom/persons/person[@id='js890']/name/text()"/>

Результат:
name=[[#text: Petrov]] 

И так пробовал
Код

<x:set var="perName" select="string($dom/persons/person[@id='js890']/name/text())"/>

Результат:
name= 


Использую Tomcat 5.5.16
JSTL от Apache 1.1.2
PM MAIL   Вверх
y3u
Дата 25.12.2006, 15:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 440
Регистрация: 9.9.2006
Где: Москва

Репутация: 7
Всего: 13



а так пробовал?

Код

dom/persons/person[@id='js890']/name

или
Код

${dom}/persons/person[@id='js890']/name


лень качать TLD-шник... но я так подозреваю, что там должОн быть либо XPath вырожение, либо EL вычисляемое выражение...
могу ошибаццо smile


--------------------
В нашей стране настаивать на кореньях, черной смородине, лимонных корках - гораздо эффективнее, чем на правах
PM MAIL   Вверх
x4444
Дата 25.12.2006, 17:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 41
Регистрация: 7.2.2006

Репутация: 1
Всего: 1



нет, это точно неправильно.

никаних {} в select не может быть
а просто dom а не $dom не имеет смысла

да и тут проблема не в том чтобы к переменной dom обратиться - к ней как раз нормально идет обращение - там дальше засада как получить чистый текст и положить его как стринг в переменную. То что написано в учебниках и примерах в инете не работает у меня. Ну апачевская реализация чтоли подводит, я и последний найтбилб пробовал - таже фигня. - либо сложный объект на выходе, либо пусто.

Может кроме аппачевской есть официальная реализация - но на сайте сана что-то не нашел.
PM MAIL   Вверх
x4444
Дата 25.12.2006, 18:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 41
Регистрация: 7.2.2006

Репутация: 1
Всего: 1



Нашел свою ошибку. XPath выражение неправильно составил, самую корневую ноду не надо было указывать

Правильный запрос такой
Код

<x:set var="perName" select="string($dom/person[@id='js890']/name)"/>


Это сообщение отредактировал(а) x4444 - 25.12.2006, 18:58
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.0685 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.