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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> обработка xml с jstl, не могу разобраться 
:(
    Опции темы
medin_84
Дата 1.10.2009, 12:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



дело происходит в websphere portal 6
специф jsr 168 не знаю важно это или нет

значит так в jsp используя jstl пытаюсь сделать что нидь с xml

xml с какого та примера. по примеру не работает
Код

<?xml version="1.0" encoding="utf-8"?>
<bookshelf>
    <book>
        <title>Книга про зайцев</title>
        <price>99.95</price>
        <authors>
            <author main="true">Тапкин Василий Васильевич</author>
            <author>Пупкина Ленка Ленковна</author>
        </authors>
    </book>
</bookshelf>


Код

<%@page session="false" contentType="text/html" pageEncoding="UTF-8" %>
<%@page import="javax.portlet.* %>
<%@taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@taglib uri="http://java.sun.com/jsp/jstl/xml" prefix="x" %>
<portlet:defineObjects/>

<%
String fxml = application.getRealPath("/WEB-INF/xml/") + "/book.xml"; //тут возник вопрос правильно ли беру xml?
pageContext.setAttribute("fxml", fxml);
%>

<x:parse var="bookshelf">
    <c:import url="${fxml}" />
</x:parse>

title:<x:out select="$bookshelf/bookshelf/book[1]/title" /> //портлет слетает здесь с этой строкой [Портлет не доступен говорит] / без этой строки не ругается хотя ошибок не вижу

ну и как мне взять title

jstl.jar, standard.jar в lib положил
jstl вроде работает
конструкция типа <c:out value="текст выводит" /> работает

не знаю что не так замучился
дайте кто нить ссылку на какой нидь бук по jstl
помогите кто чем может

Это сообщение отредактировал(а) medin_84 - 1.10.2009, 13:09
PM MAIL   Вверх
dementiev
Дата 1.10.2009, 18:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



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

это обязательно использовать? Легче и более управляемо будет делать парсинг в контроллере (сервлет или стратс экшн, что там у тебя), а потом уже передавать результат парсинга в jsp и выводить jstl тэгами. 
PM MAIL   Вверх
garbuz
Дата 1.10.2009, 21:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



medin_84, dementiev верно говорит. Посмотрите в сторону sax, dom, jdom. Библиотек для парсинга xml масса.
PM MAIL   Вверх
medin_84
Дата 2.10.2009, 06:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



я знаю что можно с dom
поначалу думал сделать с dom
просто я хотел как проще
Xml статичный просто выводить как это делается в xslt
раньше все работало в сервлете
Код

<%@page pageEncoding="UTF-8"%>
<%@page import="javax.xml.transform.*, javax.xml.transform.stream.*, java.io.*" %>
<%
try
{
    TransformerFactory transformerfactory = TransformerFactory.newInstance();
    Transformer transformer = transformerfactory.newTransformer(
        new StreamSource(new File(application.getRealPath("WEB-INF/xsl/html/") + "/articles.xsl"))
    );
    transformer.setParameter("lang",session.getAttribute("lang"));
    transformer.transform(
        new StreamSource(new File(application.getRealPath("WEB-INF/xml/") + "/articles.xml")),
        new StreamResult(out));
}
catch(Exception e){}
%>


просто применял Xsl шаблон
теперь надо сделать в виде портлета
данный код работает
вот только с формированием ссылок порблема
в портлете все ссылки кодированные или еще как не разбирался а в шаблоне ссылки обычным образом выводятся то есть типа http://server?getp=1&getg=2 а не так http://server:port/wps/portal/!ut/p/c0/dfg...h_fghfgh_fghfgh куча хрени извеняюсь
потому собственно и надо переделывать если бы не было ссылок ославил бы как есть
c jstl только вчера собственно начал разбираться кажется весч удобная

и что думаете

Цитата

Легче и более управляемо будет делать парсинг в контроллере (сервлет или стратс экшн, что там у тебя), а потом уже передавать результат парсинга в jsp и выводить jstl тэгами.

может не большой пример кода для наглядности кто нибудь покажет
для лучшего усвоения

Это сообщение отредактировал(а) medin_84 - 2.10.2009, 10:05
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.0419 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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