java handlebars_在Java中使用Handlebars比较2个字符串

在Java中使用Handlebars模板引擎时,要比较两个字符串,可以创建一个自定义的Helper。通过实现Helper接口并覆盖相应方法,传入第二个值进行比较。在Helper中使用Objects.equal方法比较对象,根据比较结果调用options.fn()或options.inverse()来决定输出内容。通过Handlebars的registerHelpers方法注册自定义助手,然后在模板中使用{{#equals}}块助手进行字符串比较。
摘要由CSDN通过智能技术生成

我在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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值