public class ScriptTemplateView extends AbstractUrlBasedView
AbstractUrlBasedView subclass designed to run any template library
based on a JSR-223 script engine.
If not set, each property is auto-detected by looking up up a single
ScriptTemplateConfig bean in the web application context and using
it to obtain the configured properties.
Nashorn Javascript engine requires Java 8+, and may require setting the
sharedEngine property to false in order to run properly. See
ScriptTemplateConfigurer.setSharedEngine(Boolean) for more details.
ScriptTemplateConfigurer,
ScriptTemplateViewResolverDEFAULT_CONTENT_TYPEloggerPATH_VARIABLES, RESPONSE_STATUS_ATTRIBUTE, SELECTED_CONTENT_TYPE| Constructor and Description |
|---|
ScriptTemplateView() |
afterPropertiesSet, checkResource, getUrl, isUrlRequired, setUrl, toStringaddStaticAttribute, createMergedOutputModel, createRequestContext, createTemporaryOutputStream, exposeModelAsRequestAttributes, generatesDownloadContent, getAttributesMap, getBeanName, getContentType, getRequestContextAttribute, getRequestToExpose, getStaticAttributes, isExposePathVariables, prepareResponse, render, setAttributes, setAttributesCSV, setAttributesMap, setBeanName, setContentType, setExposeContextBeansAsAttributes, setExposedContextBeanNames, setExposePathVariables, setRequestContextAttribute, setResponseContentType, writeToResponsegetServletContext, getTempDir, getWebApplicationContext, initServletContext, isContextRequired, setServletContextgetApplicationContext, getMessageSourceAccessor, initApplicationContext, requiredContextClass, setApplicationContextpublic void setEngine(ScriptEngine engine)
ScriptTemplateConfigurer.setEngine(ScriptEngine) documentation.public void setEngineName(String engineName)
ScriptTemplateConfigurer.setEngineName(String) documentation.public void setSharedEngine(Boolean sharedEngine)
ScriptTemplateConfigurer.setSharedEngine(Boolean) documentation.public void setScripts(String... scripts)
ScriptTemplateConfigurer.setScripts(String...) documentation.public void setRenderObject(String renderObject)
ScriptTemplateConfigurer.setRenderObject(String) documentation.public void setRenderFunction(String functionName)
ScriptTemplateConfigurer.setRenderFunction(String) documentation.public void setCharset(Charset charset)
ScriptTemplateConfigurer.setCharset(Charset) documentation.public void setResourceLoaderPath(String resourceLoaderPath)
ScriptTemplateConfigurer.setResourceLoaderPath(String) documentation.protected void initApplicationContext(ApplicationContext context)
WebApplicationObjectSupportWebApplicationObjectSupport.initServletContext(javax.servlet.ServletContext) if the
given ApplicationContext is a WebApplicationContext.initApplicationContext in class WebApplicationObjectSupportcontext - the containing ApplicationContextApplicationObjectSupport.setApplicationContext(org.springframework.context.ApplicationContext)protected ScriptEngine getEngine()
protected ScriptEngine createEngineFromName()
protected void loadScripts(ScriptEngine engine)
protected ClassLoader createClassLoader()
protected ScriptTemplateConfig autodetectViewConfig() throws BeansException
BeansExceptionprotected void renderMergedOutputModel(Map<String,Object> model, HttpServletRequest request, HttpServletResponse response) throws Exception
AbstractViewThe first step will be preparing the request: In the JSP case, this would mean setting model objects as request attributes. The second step will be the actual rendering of the view, for example including the JSP via a RequestDispatcher.
renderMergedOutputModel in class AbstractViewmodel - combined output Map (never null),
with dynamic values taking precedence over static attributesrequest - current HTTP requestresponse - current HTTP responseException - if rendering failedprotected String getTemplate(String path) throws IOException
IOException