【问题标题】:Accessing http session attributes from Freemarker directive从 Freemarker 指令访问 http 会话属性
【发布时间】:2013-07-25 17:37:30
【问题描述】:

是否可以从 Freemarker 自定义指令中访问 http 会话属性?如果有,怎么做?

【问题讨论】:

    标签: freemarker


    【解决方案1】:

    这取决于 Web 应用程序框架是否将这些变量放入数据模型(模板上下文); FreeMarker 本身不做类似的事情。虽然,如果 Web 应用程序框架使用 freemarker.ext.servlet.FreemarkerServlet,它应该类似于 Session.someAttributeName

    【讨论】:

    • 感谢 ddekany 的回复。我正在使用 dropwizard,它集成了对 freemarker 模板的支持,但它没有在内部使用 FreemarkerServlet。因此,在 freemarker 模板上我不能做类似 ${Session.attribute} 的事情。
    • 那么您可能只需将会话中所需的任何内容添加到View 作为JavaBean 属性即可。纯 MVC 模板不应该处理会话等,它们只应该获取用户名或他们需要显示的任何内容,而不知道它来自哪里(会话、会话和数据库、cookie 等)。或者也许有一种方法可以向所有视图公开某些内容......我不知道放置向导。
    • 对,有一种方法可以通过 View 公开会话属性,我认为有一种方法可以直接从 dropwizard 中的 freemarker 模板中使用它们。还是谢谢!
    猜你喜欢
    • 2014-07-31
    • 2017-06-18
    • 2012-08-08
    • 1970-01-01
    • 1970-01-01
    • 2018-09-26
    • 2019-06-08
    • 1970-01-01
    • 2016-05-01
    相关资源
    最近更新 更多