且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

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

更新时间:2023-11-27 12:58:46

创建过滤器:

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中:

Declare it into your web.xml:

<filter>
    <filter-name>CharacterEncodingFilter</filter-name>
    <filter-class>your.package.filter.CharacterEncodingFilter</filter-class>
</filter>
<filter-mapping>
    <filter-name>CharacterEncodingFilter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

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

And your're good to go. Also make sure that your every JSP page contains: <%@ page contentType="text/html;charset=UTF-8" language="java" %>. If your application is running on tomcat, make sure your add URIEncoding="UTF-8" attribute to your Connector element.