2010-10-28 4 views
9

Из моего кода Java я возвращаю Набор < Строка >. Представление должно проверить, содержит ли Set определенную строку. Я не могу найти никаких документов о том, как Freemarker может справиться с этим.
Любая идея?Функциональность Freemarker 'Collection.contains'

ответ

21

Вы можете использовать seq_contains. Вам нужно Freemarker 2.3.1

${x?seq_contains("blue")?string("yes", "no")} 

Это выведет на экран да, если последовательность содержит "синий".

И от комментариев, если вы хотите это, если заявление

<#if x?seq_contains("myString")> 

Вот DOCO об этом Built-ins for sequences

+5

это работает <#if Инд.Сброс? Seq_contains ("MyString")> – mickthompson

+1

I подумайте, что ответ может быть исправлен с тем, чтобы «<#if mySet? seq_contains (« myString »)>', потому что не было указано, что требуется печать строки Также просто '<#if x.contains (" myString ")> 'должен работать – skrii

+0

Я добавил пример if. Пункт первого примера - дать понять, что делает 'seq_contains', я не пытался показать все различные операторы, в которых вы можете его использовать. – Iain