Freemarker Servlet и Struts: доступ к java-методам и переменным в шаблоне - PullRequest
0 голосов
/ 05 января 2012

Я хочу получить доступ к переменным Session, Application и Request веб-приложения Struts.Он говорит мне, что Session имеет тип 'HttpSessionHashModel', и при поиске API, который я увидел, у этого класса есть метод isEmpty ().поэтому я попытался, например,

<#assign a = Session.isEmpty()>

, но он говорит мне, что нет такого элемента 'Session.isEmpty'.

У кого-нибудь есть идея, почему она не работает?

В Session есть несколько классов, к которым я могу получить доступ через <#assign b = Session["classname"]> (он говорит мне, что b имеет тип freemarker.ext.beans.StringModel), но я не могу ни вызвать методы класса StringModel, ни получить доступ к объектам и методам, хранящимся в «classname».

надеюсь, что кто-то может помочь

1 Ответ

0 голосов
/ 13 января 2016

Используйте макрос @s:

Теги, распространяемые с помощью Struts, автоматически становятся доступными для шаблонов FreeMarker.Чтобы использовать любой тег, добавьте "@s."перед именем тега.Например:

<@s.if test="printName">
  <@s.property value="myBeanProperty" />
</@s.if>

Ссылки

...