gpt4 book ai didi

java - jsp中的中文国际化问题

转载 作者:行者123 更新时间:2023-12-01 15:22:17 25 4
gpt4 key购买 nike

我正在使用国际化的struts2.0应用程序,除了中文之外,它在其他语言中工作得很好。

当我将中文字符放入 jsp 中时,我在 Action 中没有得到相同的值。请帮助我。

我还使用了 UTF-8 pageEncoding

<%@page contentType="text/html" pageEncoding="UTF-8"%>

我在jsp中有一个文本框,我正在其中填写一些汉字。

但是在服务器端的 Action 类中,当我尝试检索文本框的值时,我收到了垃圾字符。

我无法添加屏幕截图,因为我没有 10 个声誉。

任何帮助将不胜感激。

最佳答案

在获取参数之前,在您的操作类中将请求正文编码设置为与 JSP 的 pageEncoding 相同的编码。

request.setCharacterEncoding("UTF-8");

希望这有帮助!

P.S 上述解决方案仅适用于 POST 请求。

编辑:

在操作类的调用方法中获取HttpServletRequest:

HttpServletRequest request = ServletActionContext.getRequest();

然后如上所述设置request属性。

编辑2:

将此行添加到您的 JSP 中:

<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>

并在您的web.xml中添加此过滤器:

<filter>
<filter-name>encodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>

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

关于java - jsp中的中文国际化问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10732557/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com