freemarker Velocity获取request,session

freemarker 获取request 和 session

<bean id="viewResolver" class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver">
    <property name="cache" value="true" />
    <property name="prefix" value="" />
    <property name="suffix" value=".ftl" />
    <property name="exposeSpringMacroHelpers" value="true"/>
    <property name="requestContextAttribute" value="rc"></property>
</bean>

这样,在页面中使用${rc.contextPath} 就可获得contextPath

还有一种简单的配置 contextPath

<bean id="freeMarkerConfigurer" class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">
    <property name="freemarkerVariables">
        <map>
            <entry key="base" value="#{servletContext.contextPath}" />
        </map>
    </property>
</bean>

这样直接在页面使用 ${base} 就可以获取到了

获取Session 直接页面写 ${Session["这里是key"]} 可以支持.属性

Velocity获取request 和 session

获取request

<!-- Velocity视图解析器 默认视图 -->
<bean id="velocityViewResolver"
    class="org.springframework.web.servlet.view.velocity.VelocityViewResolver">
    <property name="contentType" value="text/html;charset=UTF-8" />
    <property name="viewNames" value="*.html" />
    <property name="suffix" value="" />
    <property name="dateToolAttribute" value="date" />
    <property name="numberToolAttribute" value="number" />
    <property name="requestContextAttribute" value="rc" />
    <property name="order" value="0" />
</bean>

这样,在页面中使用${rc.contextPath} 就可获得contextPath

使用session
直接 ${这里写session的key} 只不过这个如果session不存在的话会显示 key
感觉不是很好用

原文地址:https://www.cnblogs.com/zhousiwei/p/10625737.html