问题标签 [handlebars.java]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
handlebars.js - Handlebars: Partials vs Helpers 模板
我们开始在我们的一些项目中将 Handlebars 用于视图层。我们开始在两种做模板的方式之间找到一个十字路口。我一直在使用 partials 来处理模板和具有小的 HTML 模板,例如:
另一位开发人员认为我们不应该为此使用 partials,而应该为此创建帮助程序。
我可以看到帮助器更容易处理输入参数(因为我目前正在使用某种形式的“包含”帮助器来包含这些带有一些额外变量的部分)。但是,我认为您将 HTML 写入代码中的字符串并不适合我——我不认为您在那里正确地分离了您的关注点。我们还在 Java 中使用 Handlebars(通过 [Handlebars.Java][2]),因此您的 HTML 也非常多地包含在已编译的代码中 - 而不是简单的编辑视图文件。
是否有一种普遍接受的方式来处理 Handlebars 中的模板?Partials 或 Helpers 或者还有什么我不知道的?
javascript - 意外的令牌非法:如何从 JSON 中删除“e; 和换行符”
加载页面时,我从服务器收到一个jsonHandelbars.java
,并使用. 到现在一切都很好。
但是,我想获取该json对象并将其存储在 javascript对象中,这是我失败的地方。
当我尝试将其存储在javascript对象上时,我执行以下操作:
我得到以下("e;
和换行符解释):
当我应该得到以下内容时(不解释换行符):
所以它在javascriptUncaught SyntaxError: Unexpected token ILLEGAL
上给我一个错误。
当使用它在 HTML 模板上打印 json 时<pre>{{output}}</pre>
看起来很好。
您是否知道如何将服务器返回的json存储在页面加载到javascript对象上,因为我没有太多控制它,因为它没有附带json?
谢谢你。
java - 将 2 个字符串与 Java 中的 Handlebars 进行比较
我在 Java 中使用 Handlebars 和 Dropwizard。我想比较 2 个字符串,如果它们相同,我想做点什么。我知道 Javascript 中有一些 Helpers,但我不知道如何使它们适应 java。
我有这段代码,但问题是,如何添加第二个值来检查它们是否相等。
java - Java:将多个值传递给车把模板
我正在使用车把模板在发送之前动态准备电子邮件内容。
只传递一个值很简单。例如:
What's up {{this}}
模板与template.apply(firstName)
.
尝试将模板更改为What's up {{this}}, {{this}}
并尝试用template.apply(lastName);
和填写template.apply(firstName);
。
但它不起作用。
json - Handlebars-proto 和 logstash-logback-encoder slf4j 冲突
我的项目使用handlebars-proto 将模板绑定到json。另外我正在尝试使用logstash-logback-encoder 以Json 的形式登录logstash。以下是我的编译依赖项(以及其他依赖项)
如果我删除车把依赖记录工作正常。如果存在车把,我会收到以下警告:
SLF4J:类路径包含多个 SLF4J 绑定。SLF4J:在 [jar:file:/C:/Users/manish/.gradle/caches/modules-2/files-2.1/com.github.jknack/handlebars-proto/4.0.5/5979737344d99e0d8b482e828f247ae86fd0113/handlebars-proto 中找到绑定-4.0.5.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J:在 [jar:file:/C:/Users/manish/.gradle/caches/modules-2/files-2.1/ch 中找到绑定.qos.logback/logback-classic/1.1.6/665e3de72f19ec66ac67d82612d7b8e6b3de3cd0/logback-classic-1.1.6.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J:见http://www.slf4j.org/codes .html#multiple_bindings进行解释。
其次是错误:
无法实例化 [ch.qos.logback.classic.LoggerContext] 报告异常: java.lang.NoSuchMethodError: ch.qos.logback.core.spi.ContextAwareBase.(Lch/qos/logback/core/spi/ContextAware;)V 在 net.logstash.logback.composite.CompositeJsonFormatter.(CompositeJsonFormatter.java:106) 在 net.logstash.logback.composite.loggingevent.LoggingEventCompositeJsonFormatter.(LoggingEventCompositeJsonFormatter.java:28) 在 net.logstash.logback.LogstashFormatter.(LogstashFormatter. java:122) 在 net.logstash.logback.LogstashFormatter.(LogstashFormatter.java:118) 在 net.logstash.logback.LogstashFormatter.(LogstashFormatter.java:114) 在 net.logstash.logback.encoder.LogstashEncoder.createFormatter(LogstashEncoder .java:31) 在 net.logstash.logback.encoder.CompositeJsonEncoder.(CompositeJsonEncoder.java:48) 在 net.logstash.logback.encoder.LoggingEventCompositeJsonEncoder.(LoggingEventCompositeJsonEncoder.java:23) 在 net.logstash.logback.encoder。位于 sun.reflect 的 LogstashEncoder.(LogstashEncoder.java:27)。NativeConstructorAccessorImpl.newInstance0(Native Method) 在 sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) 在 sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 在 java.lang.reflect.Constructor.newInstance(Constructor. java:526) 在 java.lang.Class.newInstance(Class.java:379) 在 ch.qos.logback.core.joran.action.NestedComplexPropertyIA.begin(NestedComplexPropertyIA.java:122) 在 ch.qos.logback.core .joran.spi.Interpreter.callBeginAction(Interpreter.java:276) 在 ch.qos.logback.core.joran.spi.Interpreter.startElement(Interpreter.java:148) 在 ch.qos.logback.core.joran.spi .Interpreter.startElement(Interpreter.java:130) 在 ch.qos.logback.core.joran.spi.EventPlayer.play(EventPlayer.java:50)50)50)newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java: 526) 在 java.lang.Class.newInstance(Class.java:379) 在 ch.qos.logback.core.joran.action.NestedComplexPropertyIA.begin(NestedComplexPropertyIA.java:122) 在 ch.qos.logback.core.joran .spi.Interpreter.callBeginAction(Interpreter.java:276) 在 ch.qos.logback.core.joran.spi.Interpreter.startElement(Interpreter.java:148) 在 ch.qos.logback.core.joran.spi.Interpreter .startElement(Interpreter.java:130) 在 ch.qos.logback.core.joran.spi.EventPlayer.play(EventPlayer.java:50)newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java: 526) 在 java.lang.Class.newInstance(Class.java:379) 在 ch.qos.logback.core.joran.action.NestedComplexPropertyIA.begin(NestedComplexPropertyIA.java:122) 在 ch.qos.logback.core.joran .spi.Interpreter.callBeginAction(Interpreter.java:276) 在 ch.qos.logback.core.joran.spi.Interpreter.startElement(Interpreter.java:148) 在 ch.qos.logback.core.joran.spi.Interpreter .startElement(Interpreter.java:130) 在 ch.qos.logback.core.joran.spi.EventPlayer.play(EventPlayer.java:50)newInstance(NativeConstructorAccessorImpl.java:57) 在 sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 在 java.lang.reflect.Constructor.newInstance(Constructor.java:526) 在 java.lang.Class.newInstance(Class .java:379) 在 ch.qos.logback.core.joran.action.NestedComplexPropertyIA.begin(NestedComplexPropertyIA.java:122) 在 ch.qos.logback.core.joran.spi.Interpreter.callBeginAction(Interpreter.java:276) ) 在 ch.qos.logback.core.joran.spi.Interpreter.startElement(Interpreter.java:148) 在 ch.qos.logback.core.joran.spi.Interpreter.startElement(Interpreter.java:130) 在 ch。 qos.logback.core.joran.spi.EventPlayer.play(EventPlayer.java:50)newInstance(NativeConstructorAccessorImpl.java:57) 在 sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 在 java.lang.reflect.Constructor.newInstance(Constructor.java:526) 在 java.lang.Class.newInstance(Class .java:379) 在 ch.qos.logback.core.joran.action.NestedComplexPropertyIA.begin(NestedComplexPropertyIA.java:122) 在 ch.qos.logback.core.joran.spi.Interpreter.callBeginAction(Interpreter.java:276) ) 在 ch.qos.logback.core.joran.spi.Interpreter.startElement(Interpreter.java:148) 在 ch.qos.logback.core.joran.spi.Interpreter.startElement(Interpreter.java:130) 在 ch。 qos.logback.core.joran.spi.EventPlayer.play(EventPlayer.java:50)newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:526) at java.lang.Class.newInstance(Class.java:379) at ch.qos.logback.core.joran .action.NestedComplexPropertyIA.begin(NestedComplexPropertyIA.java:122) 在 ch.qos.logback.core.joran.spi.Interpreter.callBeginAction(Interpreter.java:276) 在 ch.qos.logback.core.joran.spi.Interpreter .startElement(Interpreter.java:148) 在 ch.qos.logback.core.joran.spi.Interpreter.startElement(Interpreter.java:130) 在 ch.qos.logback.core.joran.spi.EventPlayer.play(EventPlayer .java:50)newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:526) at java.lang.Class.newInstance(Class.java:379) at ch.qos.logback.core.joran .action.NestedComplexPropertyIA.begin(NestedComplexPropertyIA.java:122) 在 ch.qos.logback.core.joran.spi.Interpreter.callBeginAction(Interpreter.java:276) 在 ch.qos.logback.core.joran.spi.Interpreter .startElement(Interpreter.java:148) 在 ch.qos.logback.core.joran.spi.Interpreter.startElement(Interpreter.java:130) 在 ch.qos.logback.core.joran.spi.EventPlayer.play(EventPlayer .java:50)122) 在 ch.qos.logback.core.joran.spi.Interpreter.callBeginAction(Interpreter.java:276) 在 ch.qos.logback.core.joran.spi.Interpreter.startElement(Interpreter.java:148) 在 ch .qos.logback.core.joran.spi.Interpreter.startElement(Interpreter.java:130) 在 ch.qos.logback.core.joran.spi.EventPlayer.play(EventPlayer.java:50)122) 在 ch.qos.logback.core.joran.spi.Interpreter.callBeginAction(Interpreter.java:276) 在 ch.qos.logback.core.joran.spi.Interpreter.startElement(Interpreter.java:148) 在 ch .qos.logback.core.joran.spi.Interpreter.startElement(Interpreter.java:130) 在 ch.qos.logback.core.joran.spi.EventPlayer.play(EventPlayer.java:50)
我尝试将 slf4j 排除为车把的传递依赖项,但它没有帮助。
提前感谢您的帮助。如果需要更多详细信息,请告诉我。
handlebars.js - Handlebar.java : 比较 #if 助手中的相等性
如何比较 Handlebars.java 中的相等性和其他逻辑条件。例如:
欢迎有或没有解决方案registerHelper()
。
java - 为 Spring MVC 解析 Handlebars.java 视图中的虚拟路径
我正在尝试将 Handlebars.java 连接为 Spring MVC 的简单视图引擎。我已经为 Bean 添加了一个 Bean,HandlebarsViewResolver
并且可以获得要渲染的视图。
我现在要做的是将我的视图中的虚拟路径解析为绝对路径。例如,我有一个样式表的链接:
我需要将 URL 解析为绝对路径,该路径考虑到应用程序可能在其下运行的虚拟主机路径。如果通过http://test.site.com/dev/
URL 请求应用程序将解析为/dev/style/theme.css
. 对于给定的请求,我可以轻松获取基本路径信息,但我唯一能想到的就是basePath
为每个上下文添加一个属性到 Handlebars 上下文,并通过前缀解析虚拟路径。
这意味着要么让我的所有模型都从一组基本属性继承,要么使用 aHandlerInterceptor
来处理每个模型以添加到属性中。
我也研究过创建一个辅助函数,但我遇到了同样的问题,即必须为每个请求添加上下文,因为 Spring 似乎无法ViewResolver
为每个请求创建一个依赖于HttpServletRequest
我可以在辅助函数定义中使用。
我不禁觉得这是一个非常常见的场景,在大多数视图引擎中都可以满足。我错过了一些非常明显的东西吗?
handlebars.js - Handlebars 不呈现 json
JSON 它来自:
迭代
但是,仅{{this}}
显示{"email":"testcompany@company.com","company_number":"09999999","company_name":"Name_123","full_name":"test","phone_number":"xyz"}
或{"email":"testtwo@company.com","company_number":"09999999","company_name":"Name_123","full_name":"test","phone_number":"xyz"}
所有其他都不会显示。
我错过了什么吗?
java - 我可以更改 Handlebars.java 中的默认转义吗?
我有一个带有默认 Handlebars 扩展的模板{{thing}}
。
出于各种令人讨厌的原因,我想用它来呈现 JSON,因此不要使用{{
.
我还想在 HTML 上下文中使用模板。
我可以设置一个具有不同默认转义行为的 Handlebars.java 实例吗?