freemarker如何访问cookie?
spring 中配置如下:
<bean id="freemarkerConfigurer"
class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">
<property name="templateLoaderPath" value="/"/>
<property name="defaultEncoding" value="UTF-8"/>
<property name="freemarkerSettings">
<props>
<prop key="template_update_delay">10</prop>
<prop key="classic_compatible">true</prop>
<prop key="locale">zh_CN</prop>
<prop key="datetime_format">yyyy-MM-dd HH:mm:ss</prop>
<prop key="date_format">yyyy-MM-dd</prop>
<prop key="time_format">HH:mm:ss</prop>
<prop key="number_format">#</prop>
<prop key="whitespace_stripping">true</prop>
<prop key="boolean_format">true,false</prop>
</props>
</property>
</bean>
<bean id="viewResolver" class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver">
<property name="viewClass" value="org.springframework.web.servlet.view.freemarker.FreeMarkerView"/>
<property name="prefix" value="/WEB-INF/views/"/>
<property name="suffix" value=".ftl"/>
<property name="contentType" value="text/html;charset=UTF-8"/>
<property name="exposeRequestAttributes" value="true"/>
<property name="exposeSessionAttributes" value="true"/>
<property name="exposeSpringMacroHelpers" value="true"/>
<property name="requestContextAttribute" value="request"/>
</bean>
百度的代码不能工作:
<#assign cookies = request.getCookies()>
<#list cookies as cookie>
<#if cookie.name = "userName">
${cookie.name}
${cookie.value}
</#if>
</#list>
问题是这样:
我需要取一个cookie值添加到所有的ftl页面的变量中。
如果从spring mvc的controller中取再传到model中,每个@RequestMaping的method中都得要这样做,非常麻烦。
freemarker的共享变量配置,看例子都是配置静态值,这样需要从其它地方读并且解析的,怎么处理?
我也尝试过自定义ObjectWrapper,但似乎没搞懂这个ObjectWrapper是怎么工作的,和Velocity有些差别。
超级点钞机
10 years, 3 months ago