今天在开发过程中遇到一个乱码问题,记录一下:
在struts2中配置跳转,用type="redirect",带中文参数成了乱码。
按以下方法解决此问题:
首先tomcat的配置文件中要配置编码:
server.xml
<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443" URIEncoding="UTF-8" />
其次
将 <result name="xx" type="redirect">xxxxxxxxxx?parameter=${parameter}</result>
改为:
<result name="xx" type="redirect">
<param name="location">xxxxxxxx</param>
<param name="parameter">${parameter}</param>
</result>
ps:
刚修改了没注意,过了几天发现这种传参方式抛出个异常
Caught OgnlException while setting property 'message' on type 'org.apache.struts2.dispatcher.ServletRedirectResult'.
Caught OgnlException while setting property 'message' on type 'org.apache.struts2.dispatcher.ServletRedirectResult'. - Class: ognl.ObjectPropertyAccessor
File: ObjectPropertyAccessor.java
Method: setProperty
Line: 166 - ognl/ObjectPropertyAccessor.java:166:-1
在网上查了一下,原因可能是struts2的bug,没有找到解决的办法
分享到:
相关推荐
接下来,我们讨论如何解决Struts2中的乱码问题。在处理中文字符时,乱码是一个常见的问题。Struts2提供了多种方式来处理字符编码。首先,确保你的Web应用在web.xml中设置了正确的字符编码: ```xml <filter-name>...
在Struts2中,可以通过Action类的属性来接收请求参数。例如,创建一个名为`UserAction`的类,其中包含`username`和`password`属性,以及相应的getter和setter方法。当用户提交表单时,Struts2会自动将请求参数绑定到...
在某些版本中,Struts2可能出现中文乱码的问题。这通常需要在`struts.xml`中配置字符编码过滤器,或者在Action类中设置请求的编码方式来解决。 ### Struts模块包含 Struts2支持模块化开发,每个模块可以通过不同的...
在 Struts 中,可以通过修改 struts.I18n.encoding 的值为 GBK 来解决中文乱码问题。 12. Struts2 的动作类常量返回值: Struts2 的动作类常量返回值有 success、input 等,但 never 不是其中之一。 13. Struts2 ...
2. **字符过滤**:使用`struts.i18n.encoding`配置请求和响应的编码,防止乱码问题。 3. **默认Action**:通过`default-action-ref`定义默认的Action,当请求未明确指定Action时执行。 ### Struts的拦截器 1. **...
13表单提交中文乱码问题 5 14.Jsp不能识别EL 5 15.自定义标签中访问Dao 获取dao 6 16.标签获取参数 6 17.Action之间传递错误验证信息 6 18第一个Ajax例子 Ajax+struts2 6 8.标签 7 8.Select标签 7 9.Checkbox 10 ...
Struts2 是一个流行的 Java Web 开发框架,它简化了MVC(模型-视图-控制器)架构的应用程序开发。...同时,要注意处理中文乱码问题,例如在过滤器中设置正确的字符编码,以及根据需要调整配置以适应不同的项目需求。
Struts2中的`result`配置是框架的核心特性之一,它提供了灵活的页面跳转机制。通过合理地使用全局结果配置和具体的Action结果配置,可以大大简化开发过程,提高代码的复用性和可维护性。此外,掌握不同结果类型的...
20. **解决中文乱码问题**:确保页面编码一致,配置`struts.i18n.encoding`,自定义编码过滤器,或者在接收参数时手动转换编码。 21. **Struts2架构组件**:包括Struts2FilterDispatcher、ActionProxy、...
#### 四、解决乱码问题 **1. 设置编码** - 在ActionForm中设置编码,确保表单数据正确解析。 - 更新`struts-config.xml`中的`<form-bean>`元素,添加`encoding="UTF-8"`属性。 **2. 数据库字符集配置** - 确保...
### 解决中文乱码问题 为了确保中文字符正常显示,可以在`struts.xml`中设置编码过滤器或者在`web.xml`中配置字符集编码。 ### 总结 以上是对Struts2框架的一些基础和进阶知识点的总结。Struts2作为一款成熟的Web...
- **示例**:解决中文乱码问题。 ```xml <constant name="struts.i18n.encoding" value="utf-8"/> ``` #### 分模块开发 - 可以通过在主配置文件中引入其他配置文件来实现分模块开发。 - **示例**: ```xml ...
在Struts2中,开发者可以使用内置的JSON插件或者手动编码的方式来实现JSON数据的输出。 首先,我们来了解Struts2的Action类。Struts2的Action是一个实现了Action接口或继承ActionSupport类的Java类,其主要作用是...
2. **GET请求**:解决GET请求中的中文乱码问题有两种方法: - 修改Tomcat服务器的配置文件`server.xml`,设置`URIEncoding`参数为`utf-8`。 ```xml ``` - 对GET请求参数进行编码转换,将`ISO-8859-1`编码转换...
- 对于请求参数的乱码,可以通过在DispatcherServlet配置中设置`characterEncodingFilter`来指定字符编码。 - 对于响应内容的乱码,可以在视图中设置相应编码,或者在返回JSON时,确保服务器与客户端之间统一编码...
8. **字符编码**:在Spring MVC中,可以通过配置CharacterEncodingFilter解决POST请求的乱码问题。GET请求的乱码可以通过修改Tomcat配置或重新编码URL参数来处理。 9. **Spring MVC与Struts2的区别**: - 入口点:...
**问题八:如何解决POST请求中文乱码问题,GET的又如何处理呢?** - POST请求可以通过配置过滤器解决。 - GET请求需要在客户端编码为UTF-8。 **问题九:SpringMVC的异常处理?** - 使用`@ControllerAdvice`和`@...
如何解决POST请求中文乱码问题,GET的又如何处理呢? - 对于POST请求,可以在web.xml中配置字符编码过滤器,确保所有请求都使用统一的字符编码: ```xml <filter-name>characterEncodingFilter <filter-class>...
- **控制器模式**:SpringMVC中的控制器是无状态的,而Struts2中的Action是有状态的。 - **配置方式**:SpringMVC倾向于使用注解配置,而Struts2主要依赖XML配置文件。 ##### 3.2 SpringMVC怎么样设定重定向和转发...