最近写一个程序,url中需要传递中文参数,弄了很久找不到原因。后来到网上查了下前辈们的做法,试着做了下终于成功了。现在总结如下:
1、配置tomcat。在server.xml的 <Connector port="9007" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />中加入URIEncoding="UTF-8"。这步很关键,我之所以没找到原因就是这个没配好。
2、利用sturts2给我们的过滤器在web.xml中编写一个配置文件。
<filter>
<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-pattern>/*</url-pattern>
</filter-mapping>
3、在struts.xml中加入以下语句
<struts>
<constant name="struts.enable.DynamicMethodInvocation" value="false" />
<constant name="struts.devMode" value="true" />
<constant name="struts.i18n.encoding" value="UTF-8" />
...
</struts>
4、在jsp里
<%@page contentType="text/html;charset=UTF-8" %>
...
<table>
<tr>
<td>序号</td><td>课程编号</td><td>课程名字</td><td>查询题型</td></tr>
<%int i = 0; %>
<s:iterator value="courseList">
<tr>
<td><%=++i %></td>
<td><s:property value="courseId"/></td>
<td><s:property value="courseName"/></td>
<td><a href="<s:url value='findCourseByName.action'>
<s:param name='courseName' value='courseName'/>
</s:url>">进入</a>
</td>
</tr>
</s:iterator>
</table>
5、action中测试
public String findCourseByName() throws Exception{
System.out.println("println: " + courseName );
return SUCCESS;
}
6、运行显示结果为
println: 测试
分享到:
相关推荐
在Struts2的各个版本和不同过滤器设置下,GET方式提交的中文乱码问题仍然存在。一种可行的解决方案是在Tomcat服务器的配置文件`server.xml`中,修改`<Connector>`标签,添加`URIEncoding="UTF-8"`属性。这将强制...
解决这个问题通常涉及到编码设置的调整,下面将详细介绍两种方法来解决Struts中的中文乱码问题。 **方法一:配置Filter** 1. **添加过滤器**:首先,我们需要在Web应用的`web.xml`文件中添加一个`...
解决中文乱码问题通常涉及以下几个步骤: 1. **配置Web服务器**:如果你使用的是Apache Tomcat,需要在`server.xml`中的`Connector`标签中设置`URIEncoding`属性,指定为UTF-8,例如: ```xml ``` 2. **修改`...
### Struts2中文乱码问题解决方案 在使用Struts2框架进行Web开发的过程中,中文乱码问题是一个常见的挑战。这不仅影响用户体验,还可能导致数据不一致等问题。为了解决这一问题,我们需要理解其背后的原理,并采取...
解决中文乱码问题有多种方法。一种是直接进行编码转换。例如,可以创建一个名为`EncodingUtil`的工具类,包含一个将ISO_8859_1编码转换为GBK编码的方法: ```java package util; public class EncodingUtil { ...
从给定的文件信息来看,标题“struts2中文学习文档”和描述“struts2的根本webwork2”表明这是一份关于Struts2框架的学习资料,特别强调了Struts2与WebWork2的关系。Struts2是Apache Struts的一个版本,它是一个用于...
本DEMO是为了解决Struts2在处理中文输入时可能出现的乱码问题,确保系统能够正确地接收和显示中文字符。 首先,我们要理解乱码产生的原因。在Web应用中,数据的传输通常涉及多种编码方式,如HTTP请求的默认编码通常...
总结来说,解决Struts下的汉字乱码问题,需要从页面、过滤器、服务器配置和Struts核心Servlet等多方面进行设置,确保在整个请求生命周期中,中文字符始终以正确的编码进行处理。这不仅涉及了前端的展示,还涉及到...
本文将深入探讨一个关于Struts2在Internet Explorer(IE)浏览器中出现中文乱码的奇怪问题及其解决方案。 首先,中文乱码问题通常涉及到几个关键因素:数据库编码、开发文件编码和网页的Content-Type编码。在确保这...
文档中还会讲解如何使用Struts2的异常处理机制,以及如何调试和解决常见的运行时问题。 总的来说,这个压缩包对于想深入理解并熟练掌握Struts2框架的开发者来说是宝贵的资源。通过API文档可以了解框架的底层机制,...
这个“struts2 中文手册”提供了一份详细的指南,旨在帮助开发者理解和运用Struts2框架的各项功能。 Struts2的核心是模型-视图-控制器(MVC)设计模式,它简化了开发过程,将业务逻辑、数据和用户界面分离开来。...
通过上述实践和调试,我们已经成功解决了Struts2框架下中文文件名上传和下载的乱码问题。在遇到类似问题时,可以按照这些步骤进行排查和修复。记住,关键在于正确配置Struts2的拦截器、请求编码以及在处理文件名时...
在标题提到的场景中,开发者可能遇到了在使用Myeclipse 6.5集成开发环境,JDK1.6和Tomcat 6.0服务器环境下,通过Struts2进行文件下载时,中文文件名显示为乱码的问题。 中文乱码是由于字符编码不一致导致的,尤其是...
本文将详细介绍如何彻底解决Struts2中的乱码问题,并提供实际可行的解决方案。 #### 二、乱码产生的原因 在Struts2框架中,中文乱码主要由以下几个方面的原因造成: 1. **请求编码问题**:客户端发送请求时未指定...
总的来说,《Struts2 in Action》中文版是Java Web开发者必备的参考书籍之一,它不仅提供了全面的技术解析,还强调了实际开发中的问题解决和性能优化。通过学习这本书,开发者可以提升自己在Struts2框架上的专业技能...
- **结果类型**:Struts2提供了多种结果类型,如`dispatcher`、`redirect`、`chain`等,这些结果类型决定了ACTION执行后如何跳转到下一个页面或执行下一个ACTION。 - **结果和视图技术**:视图技术是指展示数据的...
通过上述步骤,Struts应用可以有效解决中文显示问题,实现国际化,提升用户体验。关键在于统一编码标准、合理使用资源文件以及正确处理客户端语言设置。实践证明,遵循这些原则,可以使Struts应用在多语言环境下表现...
总之,Struts2提供了一套完整的解决方案来构建Java Web应用,其丰富的标签库简化了页面的开发,而强大的拦截器机制使得业务逻辑和控制流程的管理更为灵活。通过深入理解和实践,开发者可以有效地提高开发效率,构建...
当Struts2应用在JSP页面中尝试加载并显示这些文本时,可能会遇到乱码问题,尤其是在处理中文等非英文字符时更为常见。 乱码问题的根源在于字符编码的不匹配。当资源文件的编码格式与JSP页面或服务器解析时所使用的...
解决中文文件名乱码问题的关键在于正确设置字符编码。以下是几个关键点: 1. **Struts配置**:在Struts的配置文件(通常是struts.xml)中,可以配置`<filter>`和`<filter-mapping>`元素,确保使用UTF-8编码。例如:...