Situação adequada -> Situação de código iluminada ao passar de JSP para ação, aqui tomando GBK como exemplo
1. Crie um filtro para codificação de conversão
Exemplo de localização do arquivo: src.util.setcharacterencodingfilter.java
A cópia do código é a seguinte:
pacote utiliza;
importar java.io.ioException;
importar javax.servlet.filter;
importar javax.servlet.filterchain;
importar javax.servlet.FilterConfig;
importar javax.servlet.servletexception;
importar javax.servlet.servletRequest;
importar javax.Servlet.ServletResponse;
importar javax.servlet.unavailableException;
/**
* Filtro de exemplo que define o caractere que codifica a ser usado na análise do
* Solicitação de entrada
*/
classe pública setcharacterencodingfilter implementa o filtro {
/**
* Tire este filtro de serviço.
*/
public void Destroy () {
}
/**
* Selecione e defina (se especificado) a codificação do caractere a ser usada para
* Interprete os parâmetros de solicitação para esta solicitação.
*/
Public Void Dofilter (Solicitação de ServletRequest, Resposta de ServindResponse,
Cadeia de filtro) lança ioexception, servletexception {
request.Setcharacterencoding ("GBK");
// passa o controle para o próximo filtro
Chain.Dofilter (solicitação, resposta);
}
public void init (filterConfig filterConfig) lança servletexception {
}
}
2. Modifique o web.xml e adicione 2 filtros antes do mapeamento do filtro do Struts '
A cópia do código é a seguinte:
<? xml versão = "1.0" coding = "utf-8"?>
<Web-App Version = "2.5"
xmlns = "http://java.sun.com/xml/ns/javaee"
xmlns: xsi = "http://www.w3.org/2001/xmlschema-instance"
xsi: schemalocation = "http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd ">
<Ilvier>
<lirer-class> org.springframework.web.context.contextLoaderListener </ouvinte-class>
</ouvinte>
<filtro>
<Filter-Name> Defina a codificação de caracteres </filter-Name>
<filter-Class> util.setcharacterencodingFilter </filter-Class>
</filter>
<filter-mapping>
<Filter-Name> Defina a codificação de caracteres </filter-Name>
<url-padrão>/*</url-padrão>
</filter-mapping>
<filtro>
<Filter-Name> Struts-Cleanup </filter-Name>
<filter-class> org.apache.struts2.dispatcher.actionContextCleanup </filter-Class>
</filter>
<filter-mapping>
<Filter-Name> Struts-Cleanup </filter-Name>
<url-padrão>/*</url-padrão>
</filter-mapping>
<filtro>
<Filter-Name> struts2 </filter-name>
<filter-class> org.apache.struts2.dispatcher.filterdispatcher </filter-Class>
</filter>
<filter-mapping>
<Filter-Name> struts2 </filter-name>
)
</filter-mapping>
</web-app>
3. Seu cabeçalho JSP deve ter
<%@ Page Language = "Java" PageEncoding = "GBK"%>
4. Modifique as configurações de codificação padrão em struts.xml
A cópia do código é a seguinte:
<Truts>
<constante name = "struts.i18n.encoding" value = "gbk"> </s constant>
...
...
...
</truts>
Basicamente, isso pode resolver o problema da maioria dos personagens que chegam iluminados
PS: Se o banco de dados extrair caracteres iluminado, como o MySQL, confirme que os caracteres no seu banco de dados são GBK, e a sequência de conexão especifica a codificação do caractere.
<propriedade name = "url" value = "jdbc: mysql: // localhost/database? useunicode = true & caracterencoding = gbk"> </propriedade>