Можно ли вызвать метод, который принимает параметры из шаблона Freemarker?Как вызвать java-методы для объекта из шаблона FreeMarker?
У меня есть объектная модель, которую я пытаюсь сделать с помощью Freemarker на веб-странице. Один из объектов имеет метод, чтобы получить подсписок его содержимое - принимает параметр, который используется для фильтрации списка:
public List getunits(final String type);
Я знаю, что в JSP вы не можете сделать это прямо, но вы можете писать пользовательские функции, которые позволят вам достичь желаемого результата. Как вы решаете это во Фримаркере? То же самое с написанием пользовательских функций? Или существует какой-то способ называть эту функцию?
Были проблемы, когда мой боб расширяя TreeMap. В этом случае метод не может найти. – tbraun
@tbraun: В этом случае вам нужно '? Api'. Методы 'Map'-s не отображаются (по крайней мере, с помощью' DefaultObjectWrapper'), поскольку в FTL, в отличие от Java, методы не имеют собственного пространства имен. Таким образом, они будут смешиваться с ключами на карте, например 'myMap.someKey' и' myMap.get' (возвращает метод «Map.get»), и оба возвращают что-то, и будут оба перечислены с помощью 'myMap? Keys', и т. д. Это было бы беспорядок. Таким образом, по умолчанию 'myMap.something' ищет только ключ' something'' Map', а не метод 'something'. Но вы можете работать так, как 'myMap? Api.get (...)'. – ddekany