ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

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

2019-06-23 13:50:20  阅读:399  来源: 互联网

标签:java handlebars-js handlebars-java


我在Java中使用带有Dropwizard的Handlebars.我想比较两个字符串,如果相同,我想做点什么.我知道Javascript中有一些助手,但我不知道如何使它们适应java.

我有这段代码,但问题是,如何添加第二个值来检查它们是否相等.

public enum StringHelper implements Helper<Object> {
     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}}
    <p>The type is A</p>
{{else}}
    <p>The type is NOT A</p>
{{/equals}}

标签:java,handlebars-js,handlebars-java
来源: https://codeday.me/bug/20190623/1271381.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有