我使用的是Struts2。当我通过表单发送“特殊”字符时,接收到它的操作会以不同的方式显示这些字符(比如+一个小方块)。我知道我有编码问题,但我找不到可以为Struts2配置请求编码的位置。
有谁能帮帮我吗?
诚挚的问候,
Nils
发布于 2009-12-28 18:57:51
回答我自己的问题:
链接应该始终是URL编码的。设置为true的s:url编码似乎不能正常工作(或误用?但我对此表示怀疑),并且它可以与旧的良好的c:url一起工作。
发布于 2009-12-28 19:10:13
你应该使用字符编码过滤器。只需在web.xml过滤器操作之前放入struts过滤器即可。见下文
<filter>
<filter-name>CharacterEncodingFilter</filter-name>
<filter-class>your.pkg.CharacterEncodingFilter</filter-class>
</filter>
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<filter-mapping>
<filter-name>CharacterEncodingFilter</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>只需在您的编码过滤器中输入您的代码即可对"UTF-8“进行字符编码。我也用UTF-8添加了标题页编码。
这就解决了问题。我也遇到过这样的问题。
https://stackoverflow.com/questions/1958797
复制相似问题