Мой вывод должен выглядеть примерно так:
<result>
<item>
<id>123</id>
<src>123</src>
<dst>123</dst>
</item>
<item>
<!-- ... -->
</item>
</result>
И класс действия будет иметь метод getFoos
, который возвращает массив однородных объектов, т.е. г. как это:
class Foo {
// ...
public long getId() { ... }
// ...
}
Я использую XSLTResult следующим образом:
<action name="channels" method="loadAll" class="com.econemon.suite.api.impl.FooAction">
<result name="success" type="xslt">
<param name="exposedValue">foos</param>
</result>
</action>
Поскольку я не хочу постобработать XML, я не указал ни один шаблон после прочтения нескольких руководств, в которых говорилось, что это будет работать. Вместо этого он дает мне эту ошибку:
javax.xml.transform.TransformerException: операция не поддерживается. - [неизвестное место]
Поэтому я попытался использовать шаблон, но он никогда не отображал список вообще. Вместо этого я получаю
- все свойства бобов
toString()
вместе взятых
- пустой документ
- пустой
<foo />
тег (не <foos />
, как ни странно)
Я не смог найти учебник, который бы мне помог, ни по Beans-> XML рендерингу, ни по XSLT. Одна из проблем заключается в том, что у меня возникают проблемы с поиском хороших поисковых терминов: поиск в Google «struts xml» и подобных файлов приводит к огромному количеству совершенно не относящихся к делу ссылок на материал в struts.xml
, исключая «struts.xml» из результатов. потому что на страницах, которые я ищу, скорее всего, есть примеры struts.xml.
Я думаю, что мне на самом деле не нужны шаблоны, поэтому, если можно обойтись без, отлично.