Как сделать массив Java-бинов в XML с помощью struts2? - PullRequest
1 голос
/ 29 октября 2009

Мой вывод должен выглядеть примерно так:

<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.

Я думаю, что мне на самом деле не нужны шаблоны, поэтому, если можно обойтись без, отлично.

1 Ответ

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

В некоторых комментариях к этому сообщению в блоге была та же ошибка, о которой вы упоминали. Может быть, один из опубликованных способов поможет?

http://cse -mjmcl.cse.bris.ac.uk / блог / 2007/09/10 / 1189430125294.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...