如何比较Freemarker中的字符忽略情况?

时间:2014-04-29 16:02:29

标签: liferay freemarker

我需要在 Liferay Portal 上的 Freemarker 模板中比较字符串不区分大小写的字符串。 我尝试过:

<#if nav_item.getName().equalsIgnoreCase("home")>
    <!-- if do -->
</#if>

但我得到错误:

Expected hash. nav_item.getName() evaluated instead to freemarker.template.SimpleScalar on line 39, column 46 in navigation.ftl.

作为indicated here,我可以使用公共标记不区分大小写来区分同一个字母的大写和小写变体。所以我尝试了:

<#if nav_item.getName()?matches("home", "i")>

但是不起作用!我收到错误。
任何帮助表示赞赏!谢谢!

1 个答案:

答案 0 :(得分:6)

?matches("home", "i")应该有效,所以你会得到什么错误信息?另一个解决方案是nav_item.name?lower_case == "home"。 (顺便说一句,你不必写.getName(),只需写.name。)