如何将struts2中的charset更改为utf-8

嗨,我有测试场,我想把测试不是用英语(例如俄语),但在我的动作课中,我得到的只是文字而不是文字????????? 。 我试图编写简单的filter,它描述了struts2中的参数字符集转换

但它仍然无法工作..有人可以帮助我

更新我有这个 在此处输入图像描述

  

我想用俄语进行测试,然后将其发送到我的行动。但是在我的动作课中,我得到的只是文字而不是文字????????? 解决这个问题我需要将charset更改为utf8而不是win1251。

创建一个filter:

 import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; public class CharacterEncodingFilter implements Filter { @Override public void init(FilterConfig filterConfig) throws ServletException { } @Override public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException { servletRequest.setCharacterEncoding("UTF-8"); servletResponse.setContentType("text/html; charset=UTF-8"); filterChain.doFilter(servletRequest, servletResponse); } @Override public void destroy() { } } 

将其声明到您的web.xml中:

  CharacterEncodingFilter your.package.filter.CharacterEncodingFilter   CharacterEncodingFilter /*  

你很高兴。 还要确保每个JSP页面包含: <%@ page contentType="text/html;charset=UTF-8" language="java" %> 。 如果您的应用程序在tomcat上运行,请确保将您的URIEncoding="UTF-8"属性添加到Connector元素。

如果需要强制jsp为UTF-8,可以在web.xml中编写以下内容:

   *.jsp UTF-8   

(不能对previus的回复发表评论)

   *.jsp UTF-8  

对于web.xml> 2.3

我不确定2012年它是否还不存在,但请注意这个元素仅适用于web.xml> 2.4(该元素在2.3 http://java.sun.com/dtd中不存在) /web-app_2_3.dtd )。