public class ScriptTemplateConfigurer extends ObjectSE implements ScriptTemplateConfig
ScriptEngine を作成するための Spring MVC の ScriptTemplateConfig の実装。
// Add the following to an @Configuration class
@Bean
public ScriptTemplateConfigurer mustacheConfigurer() {
ScriptTemplateConfigurer configurer = new ScriptTemplateConfigurer();
configurer.setEngineName("nashorn");
configurer.setScripts("mustache.js");
configurer.setRenderObject("Mustache");
configurer.setRenderFunction("render");
return configurer;
}
注意 : sharedEngine プロパティを false に設定することにより、Handlebars または Nashorn で実行されている React のように、同時実行用に設計されていないテンプレートライブラリで非スレッドセーフスクリプトエンジンを使用できます。
ScriptTemplateView| コンストラクターと説明 |
|---|
ScriptTemplateConfigurer() デフォルトコンストラクター。 |
ScriptTemplateConfigurer(StringSE engineName) 指定されたエンジン名を使用して新しい ScriptTemplateConfigurer を作成します。 |
| 修飾子と型 | メソッドと説明 |
|---|---|
CharsetSE | getCharset() スクリプトおよびテンプレートファイルの読み取りに使用される文字セットを返します。 |
StringSE | getContentType() レスポンスに使用するコンテンツ型を返します。 |
ScriptEngineSE | getEngine() ビューで使用する ScriptEngineSE を返します。 |
StringSE | getEngineName()ScriptEngineSE のインスタンス化に使用されるエンジン名を返します。 |
SupplierSE<ScriptEngineSE> | getEngineSupplier()ScriptEngineSE のインスタンス化に使用されるエンジンサプライヤーを返します。 |
StringSE | getRenderFunction() レンダリング関数名を返します(オプション)。 |
StringSE | getRenderObject()render 関数が属するオブジェクトを返します(オプション)。 |
StringSE | getResourceLoaderPath()Spring リソースの場所を介してリソースローダーのパスを返します。 |
StringSE[] | getScripts() スクリプトエンジン(ライブラリまたはユーザー指定)によってロードされるスクリプトを返します。 |
BooleanSE | isSharedEngine() すべてのスレッドで共有エンジンを使用するか、各スレッドのスレッドローカルエンジンインスタンスを作成するかを返します。 |
void | setCharset(CharsetSE charset) スクリプトおよびテンプレートファイルの読み取りに使用する文字セットを設定します。 |
void | setContentType(StringSE contentType) レスポンスに使用するコンテンツ型を設定します。 |
void | setEngine(ScriptEngineSE engine)ScriptEngineSE をビューで使用するように設定します。 |
void | setEngineName(StringSE engineName)ScriptEngineSE のインスタンス化に使用されるエンジン名を設定します。 |
void | setEngineSupplier(SupplierSE<ScriptEngineSE> engineSupplier) |
void | setRenderFunction(StringSE renderFunction) レンダリング関数名を設定します(オプション)。 |
void | setRenderObject(StringSE renderObject)render 関数が属するオブジェクトを設定します(オプション)。 |
void | setResourceLoaderPath(StringSE resourceLoaderPath)Spring リソースの場所を介してリソースローダーのパスを設定します。 |
void | setScripts(StringSE... scriptNames) スクリプトエンジン(ライブラリまたはユーザー指定)によってロードされるスクリプトを設定します。 |
void | setSharedEngine(BooleanSE sharedEngine)false に設定されている場合、単一の共有インスタンスではなく、スレッドローカル ScriptEngineSE インスタンスを使用します。 |
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSEpublic ScriptTemplateConfigurer()
public ScriptTemplateConfigurer(StringSE engineName)
public void setEngine(@Nullable ScriptEngineSE engine)
ScriptEngineSE をビューで使用するように設定します。renderFunction が指定されている場合、スクリプトエンジンは Invocable を実装する必要があります。engine または engineName の両方ではなく、両方を定義する必要があります。sharedEngine フラグが false に設定されている場合、この setter ではスクリプトエンジンを指定しないでください。スクリプトエンジンの複数の遅延インスタンス化を意味するため、setEngineName(String) または setEngineSupplier(Supplier) で指定してください。
@Nullable public ScriptEngineSE getEngine()
ScriptTemplateConfigScriptEngineSE を返します。ScriptTemplateConfig の getEngine public void setEngineSupplier(@Nullable SupplierSE<ScriptEngineSE> engineSupplier)
ScriptEngineSE サプライヤーをビューで使用するように設定します。通常は setSharedEngine(Boolean) を false に設定して使用します。renderFunction が指定されている場合、スクリプトエンジンは Invocable を実装する必要があります。engineSupplier、engine、engineName のいずれかを定義する必要があります。setEngine(ScriptEngine), setEngineName(String)@Nullable public SupplierSE<ScriptEngineSE> getEngineSupplier()
ScriptTemplateConfigScriptEngineSE のインスタンス化に使用されるエンジンサプライヤーを返します。ScriptTemplateConfig の getEngineSupplier public void setEngineName(@Nullable StringSE engineName)
ScriptEngineSE のインスタンス化に使用されるエンジン名を設定します。renderFunction が指定されている場合、スクリプトエンジンは Invocable を実装する必要があります。engine または engineName の両方ではなく、両方を定義する必要があります。@Nullable public StringSE getEngineName()
ScriptTemplateConfigScriptEngineSE のインスタンス化に使用されるエンジン名を返します。ScriptTemplateConfig の getEngineName public void setSharedEngine(@Nullable BooleanSE sharedEngine)
false に設定されている場合、単一の共有インスタンスではなく、スレッドローカル ScriptEngineSE インスタンスを使用します。Nashorn で実行されている Handlebars や React などの同時実行用に設計されていないテンプレートライブラリを使用する非スレッドセーフスクリプトエンジンを使用する場合は、このフラグを false に設定する必要があります。 このフラグが false に設定されている場合、setEngineName(String) または setEngineSupplier(Supplier) を使用してスクリプトエンジンを指定する必要があります。スクリプトエンジンの複数のインスタンスを遅延して(スレッドごとに 1 つ)作成する必要があるため、setEngine(ScriptEngine) を使用することはできません。
@Nullable public BooleanSE isSharedEngine()
ScriptTemplateConfigScriptTemplateConfig の isSharedEngine public void setScripts(@Nullable StringSE... scriptNames)
resourceLoaderPath のデフォルト値は "classpath:" であるため、クラスパスで使用可能なスクリプトを簡単にロードできます。 例: WebJars 依存関係およびカスタム "render.js" ファイルとして使用可能な JavaScript ライブラリを使用するには、configurer.setScripts("/META-INF/resources/webjars/library/version/library.js", "com/myproject/script/render.js"); を呼び出す必要があります。
@Nullable public StringSE[] getScripts()
ScriptTemplateConfigScriptTemplateConfig の getScripts public void setRenderObject(@Nullable StringSE renderObject)
Mustache.render() を呼び出すには、renderObject を "Mustache" に、renderFunction を "render" に設定する必要があります。@Nullable public StringSE getRenderObject()
ScriptTemplateConfigScriptTemplateConfig の getRenderObject public void setRenderFunction(@Nullable StringSE renderFunction)
ScriptEngine.eval(String, Bindings)SE で評価されます。この関数は、次のパラメーターで呼び出されます。
String template: テンプレートの内容 Map model: ビューモデル RenderingContext context: レンダリングコンテキスト (5.0 以降)RenderingContext@Nullable public StringSE getRenderFunction()
ScriptTemplateConfigScriptEngine.eval(String, Bindings)SE で評価されます。ScriptTemplateConfig の getRenderFunction public void setContentType(@Nullable StringSE contentType)
text/html)。@Nullable public StringSE getContentType()
ScriptTemplateConfig の getContentType public void setCharset(@Nullable CharsetSE charset)
UTF-8)。@Nullable public CharsetSE getCharset()
ScriptTemplateConfigScriptTemplateConfig の getCharset public void setResourceLoaderPath(@Nullable StringSE resourceLoaderPath)
ResourceLoader で理解されているように、"file:" や "classpath:" などの標準 URL と疑似 URL がサポートされています。ApplicationContext で実行している場合は、相対パスを使用できます。デフォルトは "classpath:" です。
@Nullable public StringSE getResourceLoaderPath()
ScriptTemplateConfigScriptTemplateConfig の getResourceLoaderPath