最后更新时间:2007-09-12 关键字: freemarker
我第一次用SPRINGMVC+FREEMAKER+HIBERNATE开发WAP,在开发过程中没有遇到什么问题,在开发完成后用M3Gate来测试时发现一个很奇怪的现像:
如果用M3Gate打开ftl为扩展名的页面(由freemarker.ext.servlet.FreemarkerServlet进行渲染的页面)是不能通过检测的,会提示提示WML格式不正确。
如果是通过SPRING 的MVC跳转(由org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver进行渲染的页面)是可以通过检测的。
同样的页面内容换成JSP来做前后表示层也会报WML错误 如果增加这一句
- <%@ page contentType="text/vnd.wap.wml; charset=UTF-8"%>
就会正常。
我在想是不是我的FREEMARK的配置有问题,以下是配置,麻烦大家看一下:
WEB.xml配置是:
xml 代码
- <servlet-name>freemarkerservlet-name>
- <servlet-class>freemarker.ext.servlet.FreemarkerServletservlet-class>
- <init-param>
- <param-name>TemplatePathparam-name>
- <param-value>/param-value>
- init-param>
- <init-param>
- <param-name>NoCacheparam-name>
- <param-value>trueparam-value>
- init-param>
- <init-param>
- <param-name>ContentTypeparam-name>
- <param-value>text/vnd.wap.wml;charset=UTF-8param-value>
- init-param>
- <init-param>
- <param-name>template_update_delayparam-name>
- <param-value>0param-value>
- init-param>
- <init-param>
- <param-name>default_encodingparam-name>
- <param-value>utf-8param-value>
- init-param>
- <init-param>
- <param-name>localeparam-name>
- <param-value>zh_CNparam-value>
- init-param>
- <init-param>
- <param-name>number_formatparam-name>
- <param-value>0.##########param-value>
- init-param>
- <load-on-startup>1load-on-startup>
- servlet>
- <servlet-mapping>
- <servlet-name>freemarkerservlet-name>
- <url-pattern>*.ftlurl-pattern>
- servlet-mapping>
SPRING的配置是:
xml 代码
- <bean id="FreeMarkerConfig" class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">
- <property name="freemarkerSettings">
- <props>
- <prop key="template_update_delay">0prop>
- <prop key="default_encoding">UTF-8prop>
- <prop key="locale">zh_CNprop>
- props>
- property>
- <property name="templateLoaderPath">
- <value>/value>
- property>
- bean>
- <bean id="viewResolver" class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver">
- <property name="viewClass">
- <value>org.springframework.web.servlet.view.freemarker.FreeMarkerViewvalue>
- property>
- <property name="contentType">
- <value>text/vnd.wap.wml;charset=UTF-8value>
- property>
- <property name="exposeRequestAttributes">
- <value>truevalue>
- property>
- <property name="exposeSessionAttributes">
- <value>truevalue>
- property>
- <property name="prefix">
- <value>/value>
- property>
- <property name="suffix">
- <value>.ftlvalue>
- property>
- bean>