我们项目组采用struts2做开发,其中页面修饰框架采用sitemesh和freeer结合,请帮我解决一个小问题,急急急.......
功能基本做到后期。
之后在项目里,要加一些静态的html页面,来做一些业务说明。
但我们,加入的html页面后,整个页面所有的中文全变成啦“???”
但我们在点击别的jsp页面时,恢复正常。
请朋友们,帮我解释一下,原因,如果能有说明问题的,小弟一定重谢.

解决方案 »

  1.   

    我想知道你的sitemesh与freemaker是怎么结合的.可能是这个地方有问题.
      

  2.   

    这个是我的WEB.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.5"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee   http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
    <filter>
    <filter-name>struts-cleanup</filter-name>
    <filter-class>
    org.apache.struts2.dispatcher.ActionContextCleanUp
    </filter-class>
    </filter>
    <filter>
    <filter-name>sitemesh</filter-name>
    <filter-class>
    org.apache.struts2.sitemesh.FreeMarkerPageFilter
    </filter-class>
    </filter>
    <filter>
    <filter-name>struts</filter-name>
    <filter-class>
    org.apache.struts2.dispatcher.FilterDispatcher
    </filter-class>
    </filter>
    <filter-mapping>
    <filter-name>struts-cleanup</filter-name>
    <url-pattern>/*</url-pattern>
    </filter-mapping>
    <filter-mapping>
    <filter-name>sitemesh</filter-name>
    <url-pattern>/*</url-pattern>
    </filter-mapping>
    <filter-mapping>
    <filter-name>struts</filter-name>
    <url-pattern>/*</url-pattern>
    </filter-mapping>
    <servlet>
    <servlet-name>sitemesh-freeer</servlet-name>
    <servlet-class>
    com.opensymphony.module.sitemesh.freeer.FreeerDecoratorServlet
    </servlet-class>
    <init-param>
    <param-name>TemplatePath</param-name>
    <param-value>/</param-value>
    </init-param>
    <init-param>
    <param-name>default_encoding</param-name>
    <param-value>GBK</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet>
    <servlet-name>JspSupportServlet</servlet-name>
    <servlet-class>
    org.apache.struts2.views.JspSupportServlet
    </servlet-class>
    <load-on-startup>1</load-on-startup>
    </servlet>
    <listener>
    <listener-class>
    org.springframework.web.context.ContextLoaderListener
    </listener-class>
    </listener>
    <listener>
    <listener-class>
    org.apache.myfaces.webapp.StartupServletContextListener
    </listener-class>
    </listener>
    <!-- JavaServer Faces Servlet Configuration, not used directly -->
    <servlet>
    <servlet-name>faces</servlet-name>
    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet>
    <servlet-name>action</servlet-name>
    <servlet-class>
    org.apache.struts.action.ActionServlet
    </servlet-class>
    <init-param>
    <param-name>config</param-name>
    <param-value>/WEB-INF/struts-config.xml</param-value>
    </init-param>
    <init-param>
    <param-name>debug</param-name>
    <param-value>3</param-value>
    </init-param>
    <init-param>
    <param-name>detail</param-name>
    <param-value>3</param-value>
    </init-param>
    <load-on-startup>0</load-on-startup>
    </servlet>
    <!-- JavaServer Faces Servlet Mapping, not called directly -->
    <servlet-mapping>
    <servlet-name>faces</servlet-name>
    <url-pattern>*.action</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
    <servlet-name>action</servlet-name>
    <url-pattern>*.do</url-pattern>
    </servlet-mapping> <servlet-mapping>
    <servlet-name>sitemesh-freeer</servlet-name>
    <url-pattern>*.ftl</url-pattern>
    </servlet-mapping> <!-- <display-name>defaultroot</display-name>
    <servlet>
    <servlet-name>download</servlet-name>
    <servlet-class>net.fiyu.edit.download</servlet-class>
    </servlet>

    <servlet-mapping>
    <servlet-name>download</servlet-name>
    <url-pattern>/download</url-pattern>
    </servlet-mapping>
    -->
    <welcome-file-list>
    <welcome-file>backgroundnews/index.jsp</welcome-file>
    </welcome-file-list>
    <!--确定多个配置文件--></web-app>
      

  3.   

    这个是我的WEB.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.5"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee   http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
    <filter>
    <filter-name>struts-cleanup</filter-name>
    <filter-class>
    org.apache.struts2.dispatcher.ActionContextCleanUp
    </filter-class>
    </filter>
    <filter>
    <filter-name>sitemesh</filter-name>
    <filter-class>
    org.apache.struts2.sitemesh.FreeMarkerPageFilter
    </filter-class>
    </filter>
    <filter>
    <filter-name>struts</filter-name>
    <filter-class>
    org.apache.struts2.dispatcher.FilterDispatcher
    </filter-class>
    </filter>
    <filter-mapping>
    <filter-name>struts-cleanup</filter-name>
    <url-pattern>/*</url-pattern>
    </filter-mapping>
    <filter-mapping>
    <filter-name>sitemesh</filter-name>
    <url-pattern>/*</url-pattern>
    </filter-mapping>
    <filter-mapping>
    <filter-name>struts</filter-name>
    <url-pattern>/*</url-pattern>
    </filter-mapping>
    <servlet>
    <servlet-name>sitemesh-freeer</servlet-name>
    <servlet-class>
    com.opensymphony.module.sitemesh.freeer.FreeerDecoratorServlet
    </servlet-class>
    <init-param>
    <param-name>TemplatePath</param-name>
    <param-value>/</param-value>
    </init-param>
    <init-param>
    <param-name>default_encoding</param-name>
    <param-value>GBK</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet>
    <servlet-name>JspSupportServlet</servlet-name>
    <servlet-class>
    org.apache.struts2.views.JspSupportServlet
    </servlet-class>
    <load-on-startup>1</load-on-startup>
    </servlet>
    <listener>
    <listener-class>
    org.springframework.web.context.ContextLoaderListener
    </listener-class>
    </listener>
    <listener>
    <listener-class>
    org.apache.myfaces.webapp.StartupServletContextListener
    </listener-class>
    </listener>
    <!-- JavaServer Faces Servlet Configuration, not used directly -->
    <servlet>
    <servlet-name>faces</servlet-name>
    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet>
    <servlet-name>action</servlet-name>
    <servlet-class>
    org.apache.struts.action.ActionServlet
    </servlet-class>
    <init-param>
    <param-name>config</param-name>
    <param-value>/WEB-INF/struts-config.xml</param-value>
    </init-param>
    <init-param>
    <param-name>debug</param-name>
    <param-value>3</param-value>
    </init-param>
    <init-param>
    <param-name>detail</param-name>
    <param-value>3</param-value>
    </init-param>
    <load-on-startup>0</load-on-startup>
    </servlet>
    <!-- JavaServer Faces Servlet Mapping, not called directly -->
    <servlet-mapping>
    <servlet-name>faces</servlet-name>
    <url-pattern>*.action</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
    <servlet-name>action</servlet-name>
    <url-pattern>*.do</url-pattern>
    </servlet-mapping> <servlet-mapping>
    <servlet-name>sitemesh-freeer</servlet-name>
    <url-pattern>*.ftl</url-pattern>
    </servlet-mapping> <!-- <display-name>defaultroot</display-name>
    <servlet>
    <servlet-name>download</servlet-name>
    <servlet-class>net.fiyu.edit.download</servlet-class>
    </servlet>

    <servlet-mapping>
    <servlet-name>download</servlet-name>
    <url-pattern>/download</url-pattern>
    </servlet-mapping>
    -->
    <welcome-file-list>
    <welcome-file>backgroundnews/index.jsp</welcome-file>
    </welcome-file-list>
    <!--确定多个配置文件--></web-app>
      

  4.   

    编码问题
    html文件不是utf-8的吧