Может кто-нибудь объяснить, как работает Struts2 XSL ResultType? - PullRequest
1 голос
/ 09 июня 2009

Я пытаюсь выяснить, как использовать Struts2 XSL ResultType. Я просто не могу понять, как это должно работать, и, кроме официальной документации 1002 *, я нашел в Интернете, может быть, две статьи, которые пытались это объяснить (безуспешно для меня).

Я понимаю, как это работает, я создаю таблицу стилей xsl, затем у меня есть настройка действия Struts, которая каким-то образом возвращает документ XML. Действие применяет назначенную таблицу стилей xsl к документу xml и выводит желаемый xhtml в браузер. Это правильно?

Если мое понимание правильное, может ли кто-нибудь дать четкое и краткое объяснение того, как я настроил свой класс действий для возврата XML-документа, который можно преобразовать?

Если мое понимание неверно, может кто-нибудь поправить меня и объяснить, как это должно использоваться?

Спасибо!

1 Ответ

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

XSLTResult внутренне создает XML для последующей обработки с данным шаблоном. Если вы используете XSLT-файл, который на самом деле ничего не преобразует, вы получите необработанный результат:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:template match="result">
    <xsl:copy-of select="."></xsl:copy-of>
  </xsl:template>
</xsl:stylesheet>

Я использую этот шаблон для всех моих результатов XML. Если это кажется вам глупым, я должен согласиться. Я нашел несколько учебных пособий по сетям, в которых говорилось, что вы можете просто удалить параметр location из определения результата, но это привело к следующей ошибке:

javax.xml.transform.TransformerException: операция не поддерживается. - [неизвестное место]

...