クラス XsltView
- 実装されたすべてのインターフェース:
Aware
、BeanNameAware
、InitializingBean
、ApplicationContextAware
、ServletContextAware
、View
XSLT Source オブジェクトはモデルのパラメーターとして提供され、レスポンスのレンダリング中に detected
として提供されます。ユーザーは、sourceKey
プロパティを使用してモデルの特定のエントリを指定するか、Spring に Source オブジェクトを配置させることができます。このクラスは、オブジェクトの Source 実装への基本的な変換も提供します。詳細については、here
を参照してください。
すべてのモデルパラメーターは、パラメーターとして XSLTTransformer に渡されます。さらに、ユーザーは output properties
を Transformer に渡すように構成できます。
- 導入:
- 2.0
- 作成者:
- Rob Harrop, Juergen Hoeller
フィールドサマリー
クラス org.springframework.web.servlet.view.AbstractView から継承されたフィールド
DEFAULT_CONTENT_TYPE
クラス org.springframework.context.support.ApplicationObjectSupport から継承されたフィールド
logger
インターフェース org.springframework.web.servlet.View から継承されたフィールド
PATH_VARIABLES, RESPONSE_STATUS_ATTRIBUTE, SELECTED_CONTENT_TYPE
コンストラクターのサマリー
方法の概要
修飾子と型メソッド説明protected final void
configureIndentation
(TransformerSE transformer) 提供されているTransformer
SE のインデント設定を構成します。protected void
configureResponse
(MapSE<StringSE, ObjectSE> model, HttpServletResponseEE response, TransformerSE transformer) 提供されているHttpServletResponse
EE を構成します。protected void
configureTransformer
(MapSE<StringSE, ObjectSE> model, HttpServletResponseEE response, TransformerSE transformer) 提供されたTransformer
SE インスタンスを構成します。protected SourceSE
convertSource
(ObjectSE sourceObject) protected final void
copyModelParameters
(MapSE<StringSE, ObjectSE> model, TransformerSE transformer) 提供されたマップのすべてのエントリを、提供されたTransformer
SE のparameter set
SE にコピーします。protected final void
copyOutputProperties
(TransformerSE transformer) protected ResultSE
createResult
(HttpServletResponseEE response) 変換の結果をレンダリングするために使用される XSLTResult
SE を作成します。protected TransformerSE
createTransformer
(TemplatesSE templates) XSLT 変換を優先するために使用されるTransformer
SE インスタンスを作成します。protected ClassSE<?>[]
protected SourceSE
configured URL
にある XSLT テンプレートの XSLTSource
SE を取得します。protected final TransformerFactorySE
この XsltView が使用する TransformerFactory を返します。protected void
この XsltView の TransformerFactory を初期化します。protected SourceSE
locateSource
(MapSE<StringSE, ObjectSE> model) 必要に応じてオブジェクトを変換し、提供されたモデルでSource
SE オブジェクトを見つけます。protected TransformerFactorySE
newTransformerFactory
(ClassSE<? extends TransformerFactorySE> transformerFactoryClass) このビューの新しい TransformerFactory をインスタンス化します。protected void
renderMergedOutputModel
(MapSE<StringSE, ObjectSE> model, HttpServletRequestEE request, HttpServletResponseEE response) ビューを実際にレンダリングするには、サブクラスでこのメソッドを実装する必要があります。void
setCacheTemplates
(boolean cacheTemplates) XSLTTemplates
SE インスタンスのキャッシュをオン / オフにします。void
setErrorListener
(ErrorListenerSE errorListener) 変換エラーと警告のカスタム処理のためにErrorListener
SE インターフェースの実装を設定します。void
setIndent
(boolean indent) XSLT トランスフォーマーが結果ツリーを出力するときに空白を追加するかどうかを設定します。void
setOutputProperties
(PropertiesSE outputProperties) スタイルシートに適用される任意のトランスフォーマー出力プロパティを設定します。void
setSourceKey
(StringSE sourceKey) XSLT ソースを表すモデル属性の名前を設定します。void
setTransformerFactoryClass
(ClassSE<? extends TransformerFactorySE> transformerFactoryClass) 使用する XSLT TransformerFactory クラスを指定します。void
setUriResolver
(URIResolverSE uriResolver) 変換で使用される URIResolver を設定します。クラス org.springframework.web.servlet.view.AbstractUrlBasedView から継承されたメソッド
afterPropertiesSet, checkResource, getUrl, isUrlRequired, setUrl, toString
クラス org.springframework.web.servlet.view.AbstractView から継承されたメソッド
addStaticAttribute, createMergedOutputModel, createRequestContext, createTemporaryOutputStream, exposeModelAsRequestAttributes, formatViewName, generatesDownloadContent, getAttributesMap, getBeanName, getContentType, getRequestContextAttribute, getRequestToExpose, getStaticAttributes, isExposePathVariables, prepareResponse, render, setAttributes, setAttributesCSV, setAttributesMap, setBeanName, setContentType, setExposeContextBeansAsAttributes, setExposedContextBeanNames, setExposePathVariables, setRequestContextAttribute, setResponseContentType, writeToResponse
クラス org.springframework.web.context.support.WebApplicationObjectSupport から継承されたメソッド
getServletContext, getTempDir, getWebApplicationContext, initApplicationContext, initServletContext, isContextRequired, setServletContext
クラス org.springframework.context.support.ApplicationObjectSupport から継承されたメソッド
getApplicationContext, getMessageSourceAccessor, obtainApplicationContext, requiredContextClass, setApplicationContext
コンストラクターの詳細
XsltView
public XsltView()
メソッドの詳細
setTransformerFactoryClass
public void setTransformerFactoryClass(ClassSE<? extends TransformerFactorySE> transformerFactoryClass) 使用する XSLT TransformerFactory クラスを指定します。指定されたクラスのデフォルトコンストラクターが呼び出され、このビューの TransformerFactory が構築されます。
setSourceKey
XSLT ソースを表すモデル属性の名前を設定します。指定しない場合、モデルマップで一致する値の型が検索されます。次のソース型がそのまま使用できます:
Source
SE、Document
SE、Node
SE、Reader
SE、InputStream
SE、Resource
。setUriResolver
変換で使用される URIResolver を設定します。URIResolver は、XSLT
document()
関数への呼び出しを処理します。setErrorListener
変換エラーと警告のカスタム処理のためにErrorListener
SE インターフェースの実装を設定します。設定しない場合、デフォルトの
SimpleTransformErrorListener
が使用され、ビュークラスのロガーインスタンスを使用して警告をログに記録し、エラーを再スローして XML 変換を中止します。setIndent
public void setIndent(boolean indent) XSLT トランスフォーマーが結果ツリーを出力するときに空白を追加するかどうかを設定します。デフォルトは
true
(オン)です。これをfalse
(オフ)に設定して、「インデント」キーを指定しないようにします。選択はスタイルシートに任せます。- 関連事項:
setOutputProperties
スタイルシートに適用される任意のトランスフォーマー出力プロパティを設定します。ここで指定した値は、このビューがプログラムで設定するデフォルトを上書きします。
setCacheTemplates
public void setCacheTemplates(boolean cacheTemplates) XSLTTemplates
SE インスタンスのキャッシュをオン / オフにします。デフォルト値は "true" です。キャッシングがパフォーマンスに深刻な影響を与えない開発では、これを "false" にのみ設定してください。
initApplicationContext
この XsltView の TransformerFactory を初期化します。- オーバーライド:
- クラス
ApplicationObjectSupport
のinitApplicationContext
- 例外:
ApplicationContextException
- 初期化エラーの場合BeansException
- ApplicationContext メソッドによってスローされた場合- 関連事項:
newTransformerFactory
protected TransformerFactorySE newTransformerFactory(@Nullable ClassSE<? extends TransformerFactorySE> transformerFactoryClass) このビューの新しい TransformerFactory をインスタンス化します。デフォルトの実装では、単に
TransformerFactory.newInstance()
を呼び出します。"transformerFactoryClass"
が明示的に指定されている場合、指定されたクラスのデフォルトのコンストラクターが代わりに呼び出されます。サブクラスでオーバーライドできます。
- パラメーター:
transformerFactoryClass
- 指定されたファクトリクラス (もしあれば)- 戻り値:
- 新しい TransactionFactory インスタンス
- 関連事項:
getTransformerFactory
この XsltView が使用する TransformerFactory を返します。- 戻り値:
- TransformerFactory (非
null
)
renderMergedOutputModel
protected void renderMergedOutputModel(MapSE<StringSE, ObjectSE> model, HttpServletRequestEE request, HttpServletResponseEE response) throws ExceptionSEクラスからコピーされた説明:AbstractView
ビューを実際にレンダリングするには、サブクラスでこのメソッドを実装する必要があります。最初のステップは、リクエストの準備です。JSP の場合、これはモデルオブジェクトをリクエスト属性として設定することを意味します。2 番目のステップは、たとえば RequestDispatcher を介した JSP を含む、実際のビューのレンダリングです。
- 次で指定:
- クラス
AbstractView
のrenderMergedOutputModel
- パラメーター:
model
- 静的な属性よりも動的な値が優先される、結合された出力マップ(非null
)request
- 現在の HTTP リクエストresponse
- 現在の HTTP レスポンス- 例外:
ExceptionSE
- レンダリングに失敗した場合
createResult
変換の結果をレンダリングするために使用される XSLTResult
SE を作成します。デフォルトの実装では、提供された HttpServletResponse の
OutputStream
EE をラップするStreamResult
SE を作成します。- パラメーター:
response
- 現在の HTTP レスポンス- 戻り値:
- 使用する XSLT 結果
- 例外:
ExceptionSE
- 結果を構築できない場合
locateSource
必要に応じてオブジェクトを変換し、提供されたモデルで
Source
SE オブジェクトを見つけます。デフォルトの実装では、supported type
のオブジェクトを見つける前に、構成済みのsource key
がある場合は、その下を調べようとします。- パラメーター:
model
- マージされたモデルマップ- 戻り値:
- XSLT Source オブジェクト (見つからない場合は
null
) - 例外:
ExceptionSE
- ソースの検索中にエラーが発生した場合- 関連事項:
getSourceTypes
XSLTSource
SE への変換時にサポートされるClasses
SE の配列を返します。現在、
Source
SE、Document
SE、Node
SE、Reader
SE、InputStream
SE、Resource
をサポートしています。- 戻り値:
- サポートされているソース型
convertSource
- パラメーター:
sourceObject
- 元のソースオブジェクト- 戻り値:
- 適応した XSLT ソース
- 例外:
IllegalArgumentExceptionSE
- 指定されたオブジェクトがサポートされている型ではない場合ExceptionSE
configureTransformer
protected void configureTransformer(MapSE<StringSE, ObjectSE> model, HttpServletResponseEE response, TransformerSE transformer) 提供されたTransformer
SE インスタンスを構成します。デフォルトの実装では、モデルからパラメーターを Transformer の
parameter set
SE にコピーします。この実装では、output properties
をTransformer
SEoutput properties
SE にコピーします。インデントプロパティも設定されます。- パラメーター:
model
- マージされた出力マップ (非null
)response
- 現在の HTTP レスポンスtransformer
- ターゲットトランス- 関連事項:
configureIndentation
提供されているTransformer
SE のインデント設定を構成します。- パラメーター:
transformer
- ターゲットトランス- 関連事項:
copyOutputProperties
- パラメーター:
transformer
- ターゲットトランス
copyModelParameters
提供されたマップのすべてのエントリを、提供されたTransformer
SE のparameter set
SE にコピーします。- パラメーター:
model
- マージされた出力マップ (非null
)transformer
- ターゲットトランス
configureResponse
protected void configureResponse(MapSE<StringSE, ObjectSE> model, HttpServletResponseEE response, TransformerSE transformer) 提供されているHttpServletResponse
EE を構成します。このメソッドのデフォルト実装は、
Transformer
SE で指定された「メディア型」および「エンコーディング」出力プロパティからcontent type
EE およびencoding
EE を設定します。- パラメーター:
model
- マージされた出力マップ (非null
)response
- 現在の HTTP レスポンスtransformer
- ターゲットトランス
createTransformer
protected TransformerSE createTransformer(TemplatesSE templates) throws TransformerConfigurationExceptionSE XSLT 変換を優先するために使用されるTransformer
SE インスタンスを作成します。デフォルトの実装では、単に
Templates.newTransformer()
を呼び出し、指定されている場合はカスタムURIResolver
SE でTransformer
SE を構成します。- パラメーター:
templates
- Transformer を作成する XSLT テンプレートインスタンス- 戻り値:
- Transformer オブジェクト
- 例外:
TransformerConfigurationExceptionSE
- 作成に失敗した場合
getStylesheetSource
configured URL
にある XSLT テンプレートの XSLTSource
SE を取得します。- 戻り値:
- Source オブジェクト