public HandlebarsTransformer() { config = ConfigUtil.loadYaml("handlebars_config.yml", HandlebarsConfig.class); setPriority(config.priority); addSupportedTypes(WILDCARD_TYPE, TEXT_HTML_TYPE, APPLICATION_FORM_URLENCODED_TYPE, APPLICATION_XHTML_XML_TYPE); if (DependencyProvider.global().get(HANDLE_BARS) == null) { DependencyProvider.global().put(HANDLE_BARS, new HashMap<String, Object>()); } loader = new HiggsTemplateLoader(config); handlebars = new Handlebars(loader); loadHelpers(); if (config.enable_humanize_helper) { HumanizeHelper.register(handlebars); } if (config.enable_jackson_helper) { handlebars.registerHelper("json", Jackson2Helper.INSTANCE); } if (config.enable_markdown_helper) { handlebars.registerHelper("md", MarkdownHelper.INSTANCE); } if (config.cache_templates) { handlebars.with(new HighConcurrencyTemplateCache()); } }
private Context scopes(Object response, HttpRequest request, HttpMethod method) { Context ctx = Context.newBuilder(response) .resolver( JavaBeanValueResolver.INSTANCE, MapValueResolver.INSTANCE, FieldValueResolver.INSTANCE, MethodValueResolver.INSTANCE ).build(); //${_query} ,${_form},${_files},${_session},${_cookies},${_request},${_response},${_server} Map<String, ?> anything = DependencyProvider.global().get(HANDLE_BARS); ctx.data("_query", request.getQueryParams()) .data("_form", request.getFormParam()) .data("_files", request.getFormFiles()) .data("_subject", request.getSubject()) .data("_session", request.getSubject().getSession()) .data("_cookies", request.getCookies()) .data("_request", request) .data("_response", response) //add anything the user sets .data(anything); if (method != null) { ctx.data("_validation", method.getValidationResult()); } return ctx; }