Czy można wywołać metodę, która pobiera parametry z szablonu Freemarker?Jak wywołać metody Java na obiekcie z szablonu FreeMarker?
Mam model obiektowy, który próbuję renderować z Freemarker na stronie internetowej. Jednym z obiektów ma sposobu, aby uzyskać podmenu jego zawartość - biorąc parametr, który jest używany do filtrowania listy:
public List getunits(final String type);
wiem w JSP nie można to zrobić bezpośrednio, ale można pisz niestandardowe funkcje, które pozwolą Ci osiągnąć pożądany rezultat. Jak rozwiązać ten problem w Freemarker? Czy to samo dotyczy pisania niestandardowych funkcji? Czy jest jakiś sposób na wywołanie tego rodzaju funkcji?
Miał problemy, gdy mój fasola było rozszerzenie TreeMap. W tym przypadku nie można znaleźć metody. – tbraun
@tbraun: W takim przypadku potrzebujesz '? Api'. Metody 'Map'-s nie są ujawnione (przynajmniej z' DefaultObjectWrapper'), ponieważ w FTL, inaczej niż w Javie, metody nie mają własnej przestrzeni nazw. Więc połączyliby się z kluczami na mapie, takimi jak 'myMap.someKey' i' myMap.get' (zwróci metodę 'Map.get'), która zarówno zwróci coś, jak i oba zostaną wymienione za pomocą' myMap? Keys', itp. To byłby bałagan. Domyślnie 'myMap.something' szuka tylko klucza' coś' 'Map', a nie metody' coś'. Ale możesz pracować tak jak 'myMap? Api.get (...)'. – ddekany