Сравнение 2 строк с рулем в Java
Я использую Handlebars с Dropwizard в Java. Я хотел бы сравнить 2 строки, и если они одинаковы, я бы хотел что-то сделать. Я знаю, что в 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);
}
}
2 ответа
Сначала создайте класс для ваших пользовательских помощников:
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}}
Есть более простое решение:
бэкэнд:
Handlebars handlebars = new Handlebars();
handlebars.registerHelper("eq", ConditionalHelpers.eq);
внешний интерфейс:
{{#eq "a" "a"}}HURRA!{{/eq}}
Источник: официальная документация.