2009-06-09 4 views
1

Я пытаюсь выяснить, как использовать struts2 XSL ResultType. Я просто не могу понять, как он должен работать, и кроме official documentation, я нашел, может быть, две статьи в Интернете, которые пытались это объяснить (безуспешно для меня).Может кто-нибудь объяснить, как работает struts2 XSL ResultType?

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

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

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

Спасибо!

ответ

1

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: Операция не поддерживается. - [неизвестное местоположение]