<bean id="freemarkerViewResolver" class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver"> <property name="allowSessionOverride" value="true" /> <!-- 是否缓存 --> <property name="cache" value="true" /> <!--前缀--> <property name="prefix" value="" /> <!-- 后缀--> <property name="suffix" value=".html" /> <!-- 解决乱码问题--> <property name="contentType" value="text/html;charset=UTF-8"></property> <!-- 解决freemarker 页面获取request的问题 默认freemarker是获取不到request的,只能获取到Request,但是大写的Request与小写的request是不同的。 大写的Request是freemarker.ext.servlet.HttpRequestHashModel的实例对象,而小些的request是HttpServletRequest对象 这一句就是把HttpServletRequest的属性存放到request这个变量里面的。 一般我们要获取request.setAttribute(“key”,”value”)直接都可以使用Request["key"]来获取,而不必使用request。 eg:<#assign path="${request.contextPath}"> <a href="${path}/xxxx.jhtml">xxxx</a> --> <property name="requestContextAttribute" value="request" /> <!-- 使spring支持freemarker的宏命令操作 --> <property name="exposeSpringMacroHelpers" value="true" /> <!-- 请求和会话属性都被复制到模板的属性集合中,可以使用FreeMarker的表达式语言来访问 eg: <IMG id="img1" src="${serverip}/app/im/image/default.jpg" > 会员昵称:${(Session.sysMember.membername)!''} --> <property name="exposeRequestAttributes" value="true" /> <property name="exposeSessionAttributes" value="true" /> <property name="viewClass" value="com.union.youtoo.www.util.FrontRewriteFreeMarkerView" /> <property name="order" value="1" /> </bean> <bean id="freemarkerConfig" class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer"> <!-- 模板路径 --> <property name="templateLoaderPath" value="" /> <property name="freemarkerVariables"> <map> <entry key="yt_friendLink" value-ref="yt_friendLink"/> <entry key="yt_recshop" value-ref="yt_recshop"/> <entry key="yt_newshop" value-ref="yt_newshop"/> <!--定义变量值,供freemarker页面使用,value值通过配置文件获取 eg:<IMG id="img1" src="${serverip}/app/im/image/default.jpg" > --> <entry key="serverip" value="${webserverip}"></entry> </map> </property> <property name="freemarkerSettings"> <props> <prop key="tag_syntax">auto_detect</prop> <!-- 设置是否延时--> <prop key="template_update_delay">0</prop> <prop key="default_encoding">UTF-8</prop> <prop key="url_escaping_charset">UTF-8</prop> <prop key="locale">zh_CN</prop> <prop key="boolean_format">true,false</prop> <prop key="number_format">0.##########</prop> <prop key="date_format">yyyy-MM-dd</prop> <prop key="time_format">HH:mm:ss</prop> <prop key="datetime_format">yyyy-MM-dd HH:mm:ss</prop> <prop key="tag_syntax">auto_detect</prop> <prop key="classic_compatible">true</prop> <prop key="whitespace_stripping">true</prop> <prop key="template_exception_handler">ignore</prop> </props> </property> </bean>
再备忘一个链接:
http://blog.csdn.net/feiyu8607/article/details/6557159