Разбор XML внутри JSF - PullRequest
       10

Разбор XML внутри JSF

0 голосов
/ 29 октября 2009

Может кто-нибудь сказать мне, как разобрать файл XML внутри страницы JSF?

Дело в том, что у меня есть XML-файл и я хочу поместить некоторые данные из него на мою JSF-страницу. Моей первой мыслью было включить JSTL Core и XML libs и сделать что-то вроде этого:

<c:import var="some-info-doc" src="some-info.xml" /> 
<x:parse  var="some-info-xml" xml="some-info-doc" />

<h:outputText>                  
   <x:out select="$some-info-xml/a-piece-of-data" />            
</h:outputText>

Однако этот код привел к ошибке. c: импорт не был распознан. Итак, я решил поиграть с локальным фрагментом XML:

<x:parse var="simple">
   <child>basic</child>
</x:parse>

<h:outputText>                  
   <x:out select="$simple/child" />         
</h:outputText>

Это привело к печати дочернего тега на странице результатов. И вывод пришел из тега x: parse, а не h: output .

Итак, есть ли альтернатива для синтаксического анализа XML внутри страницы JSF (не считая того, что XML отправляется как объект из определенного написанного мной модуля)? Или в моем коде есть ошибки?

1 Ответ

1 голос
/ 29 октября 2009

1. Не пытайтесь смешивать теги JSTL и теги JSF; это мел и сыр.

2. JSF - это структура MVP, поэтому вы идете вразрез с попытками определить источники данных в представлении.

3. Чтобы отправлять данные через элемент управления outputText, привяжите его атрибут value к модели (например, управляемый компонент).

Возможно, возможно сделать что-то вроде этого:

<!-- other code elided -->
<x:set var="x" select="$simple/child" />
<h:outputText value="#{x}" />

... но, в общем, см. Пункты 1 и 2 .


Просто предложение: убедитесь, что вы добавили пространство имен http://java.sun.com/jsp/jstl/core на страницу для использования ядра JSTL.

...