我在Java中使用带有Dropwizard的Handlebars.我想比较两个字符串,如果相同,我想做点什么.我知道Javascript中有一些助手,但我不知道如何使它们适应java.
我有这段代码,但问题是,如何添加第二个值来检查它们是否相等.
public enum StringHelper implements Helper {
eq {
@Override
public Boolean safeApply(final Object value, final Options options) {
return ((String)value).equals(/*SECOND VALUE*/);
}
};
@Override
public Boolean apply(Object context, Options options) throws IOException {
return safeApply(context, options);
}
protected abstract Boolean safeApply(final Object value,
final Options options);
}
}
解决方法:
首先为自定义助手创建一个类:
public class HandlebarsHelpers {
public CharSequence equals(final Object obj1, final Options options) throws IOException {
Object obj2 = options.param(0);
return Objects.equal(obj1, obj2) ? options.fn() : options.inverse();
}
}
然后注册该类:
Handlebars handlebars = new Handlebars();
handlebars.registerHelpers(new HandlebarsHelpers());
使用帮手:
{{#equals 'A' type}}
The type is A
{{else}}
The type is NOT A
{{/equals}}
标签:java,handlebars-js,handlebars-java
来源: https://codeday.me/bug/20190623/1271381.html