具有外语字符的页面的正确activeweb配置

时间:2014-11-16 20:03:14

标签: activeweb

我刚刚基于 activeweb 框架创建了新的网络应用程序,默认情况下它会显示我"?"对于所有外语字符。像这样:

  

? ????????? ??????   ???? ????????? ??   ?????? ??????????

     

? ??? ???? ??????????   ??????????? ????????

显示英文字符。

这是我的 web.xml 配置:

<display-name>activeweb</display-name>

<session-config>
    <session-timeout>30</session-timeout>
</session-config>


<filter>
    <filter-name>dispatcher</filter-name>
    <filter-class>org.javalite.activeweb.RequestDispatcher</filter-class>
    <init-param>
        <param-name>exclusions</param-name>
        <param-value>css,img,fonts,images,js,html,GwtExample,ico</param-value>
    </init-param>
    <init-param>
        <param-name>root_controller</param-name>
        <param-value>home</param-value>
    </init-param>
</filter>


<filter-mapping>
    <filter-name>dispatcher</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

<welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
</welcome-file-list>

我希望此问题可能与 activeweb 内部的编码有关,或者我必须应用特殊设置。你知道怎么解决吗?

1 个答案:

答案 0 :(得分:0)

这是因为默认情况下ActiveWeb对编码没有任何作用,你得到的是来自servlet容器。为了强制使用特定的编码(UTF-8,我假设),你需要添加一行配置到web.xml文件:

<filter> <filter-name>dispatcher</filter-name> <filter-class>org.javalite.activeweb.RequestDispatcher</filter-class> <init-param> <param-name>exclusions</param-name> <param-value>css,images,js,ico</param-value> </init-param> <init-param> <param-name>root_controller</param-name> <param-value>home</param-value> </init-param> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> </filter>

这将强制要求UTF-8编码以及响应。