クラス 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 voidconfigureIndentation(TransformerSE transformer) 提供されているTransformerSE のインデント設定を構成します。protected voidconfigureResponse(MapSE<StringSE, ObjectSE> model, HttpServletResponseEE response, TransformerSE transformer) 提供されているHttpServletResponseEE を構成します。protected voidconfigureTransformer(MapSE<StringSE, ObjectSE> model, HttpServletResponseEE response, TransformerSE transformer) 提供されたTransformerSE インスタンスを構成します。protected SourceSEconvertSource(ObjectSE sourceObject) protected final voidcopyModelParameters(MapSE<StringSE, ObjectSE> model, TransformerSE transformer) 提供されたマップのすべてのエントリを、提供されたTransformerSE のparameter setSE にコピーします。protected final voidcopyOutputProperties(TransformerSE transformer) protected ResultSEcreateResult(HttpServletResponseEE response) 変換の結果をレンダリングするために使用される XSLTResultSE を作成します。protected TransformerSEcreateTransformer(TemplatesSE templates) XSLT 変換を優先するために使用されるTransformerSE インスタンスを作成します。protected ClassSE<?>[]protected SourceSEconfigured URLにある XSLT テンプレートの XSLTSourceSE を取得します。protected final TransformerFactorySEこの XsltView が使用する TransformerFactory を返します。protected voidこの XsltView の TransformerFactory を初期化します。protected SourceSElocateSource(MapSE<StringSE, ObjectSE> model) 必要に応じてオブジェクトを変換し、提供されたモデルでSourceSE オブジェクトを見つけます。protected TransformerFactorySEnewTransformerFactory(ClassSE<? extends TransformerFactorySE> transformerFactoryClass) このビューの新しい TransformerFactory をインスタンス化します。protected voidrenderMergedOutputModel(MapSE<StringSE, ObjectSE> model, HttpServletRequestEE request, HttpServletResponseEE response) ビューを実際にレンダリングするには、サブクラスでこのメソッドを実装する必要があります。voidsetCacheTemplates(boolean cacheTemplates) XSLTTemplatesSE インスタンスのキャッシュをオン / オフにします。voidsetErrorListener(ErrorListenerSE errorListener) 変換エラーと警告のカスタム処理のためにErrorListenerSE インターフェースの実装を設定します。voidsetIndent(boolean indent) XSLT トランスフォーマーが結果ツリーを出力するときに空白を追加するかどうかを設定します。voidsetOutputProperties(PropertiesSE outputProperties) スタイルシートに適用される任意のトランスフォーマー出力プロパティを設定します。voidsetSourceKey(StringSE sourceKey) XSLT ソースを表すモデル属性の名前を設定します。voidsetTransformerFactoryClass(ClassSE<? extends TransformerFactorySE> transformerFactoryClass) 使用する XSLT TransformerFactory クラスを指定します。voidsetUriResolver(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 ソースを表すモデル属性の名前を設定します。指定しない場合、モデルマップで一致する値の型が検索されます。次のソース型がそのまま使用できます:
SourceSE、DocumentSE、NodeSE、ReaderSE、InputStreamSE、Resource。setUriResolver
変換で使用される URIResolver を設定します。URIResolver は、XSLT
document()関数への呼び出しを処理します。setErrorListener
変換エラーと警告のカスタム処理のためにErrorListenerSE インターフェースの実装を設定します。設定しない場合、デフォルトの
SimpleTransformErrorListenerが使用され、ビュークラスのロガーインスタンスを使用して警告をログに記録し、エラーを再スローして XML 変換を中止します。setIndent
public void setIndent(boolean indent) XSLT トランスフォーマーが結果ツリーを出力するときに空白を追加するかどうかを設定します。デフォルトは
true(オン)です。これをfalse(オフ)に設定して、「インデント」キーを指定しないようにします。選択はスタイルシートに任せます。- 関連事項:
setOutputProperties
スタイルシートに適用される任意のトランスフォーマー出力プロパティを設定します。ここで指定した値は、このビューがプログラムで設定するデフォルトを上書きします。
setCacheTemplates
public void setCacheTemplates(boolean cacheTemplates) XSLTTemplatesSE インスタンスのキャッシュをオン / オフにします。デフォルト値は "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
変換の結果をレンダリングするために使用される XSLTResultSE を作成します。デフォルトの実装では、提供された HttpServletResponse の
OutputStreamEE をラップするStreamResultSE を作成します。- パラメーター:
response- 現在の HTTP レスポンス- 戻り値:
- 使用する XSLT 結果
- 例外:
ExceptionSE- 結果を構築できない場合
locateSource
必要に応じてオブジェクトを変換し、提供されたモデルで
SourceSE オブジェクトを見つけます。デフォルトの実装では、supported typeのオブジェクトを見つける前に、構成済みのsource keyがある場合は、その下を調べようとします。- パラメーター:
model- マージされたモデルマップ- 戻り値:
- XSLT Source オブジェクト (見つからない場合は
null) - 例外:
ExceptionSE- ソースの検索中にエラーが発生した場合- 関連事項:
getSourceTypes
XSLTSourceSE への変換時にサポートされるClassesSE の配列を返します。現在、
SourceSE、DocumentSE、NodeSE、ReaderSE、InputStreamSE、Resourceをサポートしています。- 戻り値:
- サポートされているソース型
convertSource
- パラメーター:
sourceObject- 元のソースオブジェクト- 戻り値:
- 適応した XSLT ソース
- 例外:
IllegalArgumentExceptionSE- 指定されたオブジェクトがサポートされている型ではない場合ExceptionSE
configureTransformer
protected void configureTransformer(MapSE<StringSE, ObjectSE> model, HttpServletResponseEE response, TransformerSE transformer) 提供されたTransformerSE インスタンスを構成します。デフォルトの実装では、モデルからパラメーターを Transformer の
parameter setSE にコピーします。この実装では、output propertiesをTransformerSEoutput propertiesSE にコピーします。インデントプロパティも設定されます。- パラメーター:
model- マージされた出力マップ (非null)response- 現在の HTTP レスポンスtransformer- ターゲットトランス- 関連事項:
configureIndentation
提供されているTransformerSE のインデント設定を構成します。- パラメーター:
transformer- ターゲットトランス- 関連事項:
copyOutputProperties
- パラメーター:
transformer- ターゲットトランス
copyModelParameters
提供されたマップのすべてのエントリを、提供されたTransformerSE のparameter setSE にコピーします。- パラメーター:
model- マージされた出力マップ (非null)transformer- ターゲットトランス
configureResponse
protected void configureResponse(MapSE<StringSE, ObjectSE> model, HttpServletResponseEE response, TransformerSE transformer) 提供されているHttpServletResponseEE を構成します。このメソッドのデフォルト実装は、
TransformerSE で指定された「メディア型」および「エンコーディング」出力プロパティからcontent typeEE およびencodingEE を設定します。- パラメーター:
model- マージされた出力マップ (非null)response- 現在の HTTP レスポンスtransformer- ターゲットトランス
createTransformer
protected TransformerSE createTransformer(TemplatesSE templates) throws TransformerConfigurationExceptionSE XSLT 変換を優先するために使用されるTransformerSE インスタンスを作成します。デフォルトの実装では、単に
Templates.newTransformer()を呼び出し、指定されている場合はカスタムURIResolverSE でTransformerSE を構成します。- パラメーター:
templates- Transformer を作成する XSLT テンプレートインスタンス- 戻り値:
- Transformer オブジェクト
- 例外:
TransformerConfigurationExceptionSE- 作成に失敗した場合
getStylesheetSource
configured URLにある XSLT テンプレートの XSLTSourceSE を取得します。- 戻り値:
- Source オブジェクト