Bla*_*man 6 java spring freemarker spring-mvc
我想创建一个每个其他视图页面都将继承的主模板.
所以主模板将具有:
HEADER
--CONTENT--
FOOTER
Run Code Online (Sandbox Code Playgroud)
标题将可选地显示(如果用户已登录),用户名和其他用户对象属性.
--CONTENT--是占位符,其他"继承"视图页面将注入其内容.
所以我的问题是,这可能与freemarker有关吗?如果有,任何指导?
如何将用户对象从控制器操作传递到标头?理想情况下,对象将在每个视图页面以外的其他位置传递(以避免必须在每个视图页面上维护此代码).
是的,这是可能的。在我们的应用程序中,诸如用户对象之类的东西存在于会话范围内,但这可以是 freemarker 可以访问的任何范围:
<#if Session.the_user?? && Session.the_user.loggedIn>
<#-- header code -->
</#if>
Run Code Online (Sandbox Code Playgroud)
您可以省略Session.,Freemarker 将在各个范围中搜索给定的变量名称。
要注入内容,请将其包含在主模板中您希望视图页面放置其内容的位置:
<#nested>
Run Code Online (Sandbox Code Playgroud)
然后视图页面声明它们对主模板的使用,如下所示:
<#import "/WEB-INF/ftl/path/to/template/master.ftl" as com>
<@com.template>
View page content
</@com.template>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2843 次 |
| 最近记录: |