К сожалению, вы не можете сравнивать строки внутри stringtemplate, но вы можете отправить результат такого сравнения в шаблон как параметр:
StringTemplate query = new StringTemplate("hello " +
"$if(paramEquals)$" +
" it works! " +
"$endif$ " +
"world");
query.setAttribute("paramEquals", param.equals("val1"));
System.out.println("result: "+query.toString());
Возможно, это не то, что вы ищете, поскольку каждый раз, когда вам нужно добавить сравнение, вы должны передать дополнительный параметр, а для циклов это еще хуже. Но это один из обходных путей, который может работать для простых случаев.