Может кто-нибудь объяснить, почему это не работает?Stringtemplate сравнение строк не работает
StringTemplate query = new StringTemplate("hello " +
"$if(param==\"val1\")$" +
" it works! " +
"$endif$ " +
"world");
query.setAttribute("param", "val1");
System.out.println("result: "+query.toString());
Это бросает
Eval дерево ошибка синтаксического анализа : 0: 0: неожиданный конец поддерева на org.antlr.stringtemplate.language.ActionEvaluator.ifCondition (ActionEvaluator.java:815) в орг .antlr.stringtemplate.language.ConditionalExpr.write (ConditionalExpr.java:99)
Это серьезно ошеломило меня, как люди могут найти StringTemplate, достаточно прочитать об этом, чтобы создать образец примера, но не понять его единственную самую важную силу. – I82Much
Трудно сказать, действительно ли это сила или слабость. Легко понять, почему это не так очевидно, хотя у него есть другие шаблоны. И проверить равенство - это не так много «вычислений», плюс есть условные обозначения в шаблоне строки в любом случае. – mvmn
условные обозначения только проверка наличие или отсутствие, нет стоимость. огромная разница в терминах разделения модели. –