类 ScriptTemplateConfigurer
- java.lang.Object
- org.springframework.web.reactive.result.view.script.ScriptTemplateConfigurer
- 所有已实现的接口:
ScriptTemplateConfig
public class ScriptTemplateConfigurer extends Object implements ScriptTemplateConfig
An implementation of the Spring WebFluxScriptTemplateConfigfor creating aScriptEnginefor use in a web application.// 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; }NOTE: It is possible to use non thread-safe script engines with templating libraries not designed for concurrency, like Handlebars or React running on Nashorn, by setting the
sharedEngineproperty tofalse.- 从以下版本开始:
- 5.0
- 作者:
- Sebastien Deleuze
- 另请参阅:
ScriptTemplateView
构造器概要
构造器 构造器 说明 ScriptTemplateConfigurer()Default constructor.ScriptTemplateConfigurer(String engineName)Create a new ScriptTemplateConfigurer using the given engine name.
方法概要
所有方法 实例方法 具体方法 修饰符和类型 方法 说明 CharsetgetCharset()Return the charset used to read script and template files.ScriptEnginegetEngine()Return theScriptEngineto use by the views.StringgetEngineName()Return the engine name that will be used to instantiate theScriptEngine.Supplier<ScriptEngine>getEngineSupplier()Return the engine supplier that will be used to instantiate theScriptEngine.StringgetRenderFunction()Return the render function name (optional).StringgetRenderObject()Return the object where the render function belongs (optional).StringgetResourceLoaderPath()Return the resource loader path(s) via a Spring resource location.String[]getScripts()Return the scripts to be loaded by the script engine (library or user provided).BooleanisSharedEngine()Return whether to use a shared engine for all threads or whether to create thread-local engine instances for each thread.voidsetCharset(Charset charset)Set the charset used to read script and template filesvoidsetEngine(ScriptEngine engine)Set theScriptEngineto use by the view.voidsetEngineName(String engineName)Set the engine name that will be used to instantiate theScriptEngine.voidsetEngineSupplier(Supplier<ScriptEngine> engineSupplier)Set theScriptEnginesupplier to use by the view, usually used withsetSharedEngine(Boolean)set tofalse.voidsetRenderFunction(String renderFunction)Set the render function name (optional).voidsetRenderObject(String renderObject)Set the object where the render function belongs (optional).voidsetResourceLoaderPath(String resourceLoaderPath)Set the resource loader path(s) via a Spring resource location.voidsetScripts(String... scriptNames)Set the scripts to be loaded by the script engine (library or user provided).voidsetSharedEngine(Boolean sharedEngine)When set tofalse, a newScriptEngineinstance will be created for each request, else the same instance will be reused.
构造器详细资料
ScriptTemplateConfigurer
public ScriptTemplateConfigurer()
Default constructor.
ScriptTemplateConfigurer
public ScriptTemplateConfigurer(String engineName)
Create a new ScriptTemplateConfigurer using the given engine name.
方法详细资料
setEngine
public void setEngine(@Nullable ScriptEngine engine)
Set theScriptEngineto use by the view. IfrenderFunctionis specified, the script engine must implementInvocable. You must defineengineorengineName, not both.When the
sharedEngineflag is set tofalse, you should not specify the script engine with this setter, but with thesetEngineName(String)orsetEngineSupplier(Supplier)(since it implies multiple lazy instantiations of the script engine).
getEngine
@Nullable public ScriptEngine getEngine()
从接口复制的说明:ScriptTemplateConfigReturn theScriptEngineto use by the views.- 指定者:
getEngine在接口中ScriptTemplateConfig
setEngineSupplier
public void setEngineSupplier(@Nullable Supplier<ScriptEngine> engineSupplier)
Set theScriptEnginesupplier to use by the view, usually used withsetSharedEngine(Boolean)set tofalse. IfrenderFunctionis specified, the script engine must implementInvocable. You must either defineengineSupplier,engineorengineName.- 从以下版本开始:
- 5.2
- 另请参阅:
setEngine(ScriptEngine),setEngineName(String)
getEngineSupplier
@Nullable public Supplier<ScriptEngine> getEngineSupplier()
从接口复制的说明:ScriptTemplateConfigReturn the engine supplier that will be used to instantiate theScriptEngine.- 指定者:
getEngineSupplier在接口中ScriptTemplateConfig
setEngineName
public void setEngineName(@Nullable String engineName)
Set the engine name that will be used to instantiate theScriptEngine. IfrenderFunctionis specified, the script engine must implementInvocable. You must defineengineorengineName, not both.
getEngineName
@Nullable public String getEngineName()
从接口复制的说明:ScriptTemplateConfigReturn the engine name that will be used to instantiate theScriptEngine.- 指定者:
getEngineName在接口中ScriptTemplateConfig
setSharedEngine
public void setSharedEngine(@Nullable Boolean sharedEngine)
When set tofalse, a newScriptEngineinstance will be created for each request, else the same instance will be reused. This flag should be set tofalsefor those using non thread-safe script engines with templating libraries not designed for concurrency, like Handlebars or React running on Nashorn for example.When this flag is set to
false, the script engine must be specified usingsetEngineName(String). UsingsetEngine(ScriptEngine)is not possible because multiple instances of the script engine need to be created for each request.
isSharedEngine
@Nullable public Boolean isSharedEngine()
从接口复制的说明:ScriptTemplateConfigReturn whether to use a shared engine for all threads or whether to create thread-local engine instances for each thread.- 指定者:
isSharedEngine在接口中ScriptTemplateConfig
setScripts
public void setScripts(@Nullable String... scriptNames)
Set the scripts to be loaded by the script engine (library or user provided). SinceresourceLoaderPathdefault value is "classpath:", you can load easily any script available on the classpath.For example, in order to use a JavaScript library available as a WebJars dependency and a custom "render.js" file, you should call
configurer.setScripts("/META-INF/resources/webjars/library/version/library.js", "com/myproject/script/render.js");.
getScripts
@Nullable public String[] getScripts()
从接口复制的说明:ScriptTemplateConfigReturn the scripts to be loaded by the script engine (library or user provided).- 指定者:
getScripts在接口中ScriptTemplateConfig
setRenderObject
public void setRenderObject(@Nullable String renderObject)
Set the object where the render function belongs (optional). For example, in order to callMustache.render(),renderObjectshould be set to"Mustache"andrenderFunctionto"render".
getRenderObject
@Nullable public String getRenderObject()
从接口复制的说明:ScriptTemplateConfigReturn the object where the render function belongs (optional).- 指定者:
getRenderObject在接口中ScriptTemplateConfig
setRenderFunction
public void setRenderFunction(@Nullable String renderFunction)
Set the render function name (optional). If not specified, the script templates will be evaluated withScriptEngine.eval(String, Bindings).This function will be called with the following parameters:
String template: the template contentMap model: the view modelRenderingContext context: the rendering context
- 另请参阅:
RenderingContext
getRenderFunction
@Nullable public String getRenderFunction()
从接口复制的说明:ScriptTemplateConfigReturn the render function name (optional). If not specified, the script templates will be evaluated withScriptEngine.eval(String, Bindings).- 指定者:
getRenderFunction在接口中ScriptTemplateConfig
setCharset
public void setCharset(@Nullable Charset charset)
Set the charset used to read script and template files. (UTF-8by default).
getCharset
@Nullable public Charset getCharset()
从接口复制的说明:ScriptTemplateConfigReturn the charset used to read script and template files.- 指定者:
getCharset在接口中ScriptTemplateConfig
setResourceLoaderPath
public void setResourceLoaderPath(@Nullable String resourceLoaderPath)
Set the resource loader path(s) via a Spring resource location. Accepts multiple locations as a comma-separated list of paths. Standard URLs like "file:" and "classpath:" and pseudo URLs are supported as understood by Spring'sResourceLoader. Relative paths are allowed when running in an ApplicationContext.Default is "classpath:".
getResourceLoaderPath
@Nullable public String getResourceLoaderPath()
从接口复制的说明:ScriptTemplateConfigReturn the resource loader path(s) via a Spring resource location.