runtime.addVariable("ex", ex );
writeResponse( response, runtime.invoke() );
}
private ScriptRuntime initializeScript(String scriptName, HttpServletRequest request, HttpServletResponse response) throws IOException {
ScriptRuntime runtime = templateContext.load( scriptName );
Enumeration attributes = request.getAttributeNames();
while( attributes.hasMoreElements() ) {
String name = (String) attributes.nextElement();
if( name.startsWith( TemplateDispatcher.JST_MIXIN ) ) {
String mixinName = name.substring( TemplateDispatcher.JST_MIXIN.length() );
runtime.mixin( mixinName, request.getAttribute( name ) );
} else if( name.equalsIgnoreCase( TemplateDispatcher.JST_LAYOUT ) ) {
runtime.setLayout( request.getAttribute( name ).toString() );
} else if( name.startsWith(TemplateDispatcher.JST_VARIABLE) ) {
String varName = name.substring( TemplateDispatcher.JST_VARIABLE.length() );
runtime.addVariable( varName, request.getAttribute( name ) );
} else if( name.startsWith( TemplateDispatcher.JST_SCRIPT_MIXIN ) ) {
runtime.include( request.getAttribute( name ).toString() );
}
}
runtime.addGlobalVariable( "request", request );
runtime.addGlobalVariable( "response", response );
runtime.addGlobalVariable( "servletContext", servletContext );
return runtime;
}