知识大全 Struts里提交中文表单到ActionForm的乱码问题
Posted 知
篇首语:贵有恒何必三更眠五更起,最无益只怕一日曝十日寒。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Struts里提交中文表单到ActionForm的乱码问题相关的知识,希望对你有一定的参考价值。
Struts里提交中文表单到ActionForm的乱码问题 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
由于Struts框架直接把表单数据发送给了ActionForm 所以这里面没有对HttpRequestServlet进行SetCharacterEncoding 所以默认是按照ISO (参见Tomcat 源代码中的nnector HttpRequestBase中的protected void parseParameters()方法)
解决的方法 就是在表单提交到ActionForm之前对request进行编码 第一种方法 就是写一个过滤器 对所有请求进行过滤 过滤器代码 package ricoh gtis others profile filters;
import java io IOException;
import javax servlet Filter; import javax servlet FilterChain; import javax servlet FilterConfig; import javax servlet ServletException; import javax servlet ServletRequest; import javax servlet ServletResponse;
public class SetCharacterEncodingFilter implements Filter private String encoding; public void init(FilterConfig filterConfig) throws ServletException // TODO Auto generated method stub this encoding=filterConfig getInitParameter( encoding );
public void doFilter(ServletRequest request ServletResponse response FilterChain chain) throws IOException ServletException // TODO Auto generated method stub request setCharacterEncoding(this encoding); chain doFilter(request response);
public void destroy() // TODO Auto generated method stub
配置文件web xml <filter> <filter name>SetCharacterEncodingFilter</filter name> <filter class> ricoh gtis others profile filters SetCharacterEncodingFilter</filter class> <init param> <param name>encoding</param name> <param value>utf </param value> </init param> </filter>
<filter mapping> <filter name>SetCharacterEncodingFilter</filter name> <url pattern>/*</url pattern> </filter mapping>
第二种方法是替换默认的控制器 apache struts action ActionServlet子类代码 package ricoh gtintrollers; import java io IOException;
import javax servlet ServletException; import javax servlet HttpServletRequest; import javax servlet HttpServletResponse;
import apache struts action ActionServlet;
public class SetEncodingActionServlet extends ActionServlet
protected void process(HttpServletRequest request HttpServletResponse response) throws IOException ServletException // TODO Auto generated method stub String encoding = getInitParameter( encoding ); request setCharacterEncoding(encoding); super process(request response);
配置文件web xml <servlet> <servlet name>testAction</servlet name> <servlet class> ricoh gtintrollers SetEncodingActionServlet</servlet class> <init param> <param name>config</param name> <param value>/WEB INF/struts config xml</param value> </init param> <init param> <param name>encoding</param name> <param value>utf </param value> </init param> <load on startup> </load on startup> </servlet>
<servlet mapping> <servlet name>testAction</servlet name> <url pattern>* testdo</url pattern> </servlet mapping>
cha138/Article/program/Java/ky/201311/28167相关参考
今天在学习的时候碰到了这个问题不知道怎么搞定了也就是在提交表单的时候另外传递一个参数过去这个参数不是那些里面的东西比如要编辑一篇新闻原来转过来了这个新闻对应的编号类似这样intidd=(null=
Struts2国际化与防止刷新重复提交表单 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 本实例
使用ActionForm一次获取表单的所有参数 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 用
cha138/Article/program/Java/JSP/201311/19558
今天做个项目竟然出现乱码提交表单到后台接收后打印出来的数据乱码看看配置项都好好的呀 解决步骤 strutsxml中配置<constantname=strutsinencodingvalu
每个开发人员面对的困难是预测用户能够或是将要做什么这对于网络开发人员来说就更为困难因为他的预测必须考虑到Web的多样性和缺乏真正的session控制机制如果你已经创建过一个使用表单的ASP应用程序也许
asp教程中getpost提交表单区别 Get和Post方式的区别有点 get是从服务器上获取数据post是向服务器传送数据 get是把参数数据队列加到提交表单的ACTION属性所指的URL
Struts表单验证设计指南 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 要在Struts项目
一 form表单必须要实现继承validateForm并且不能实现validate方法不然会默认使用validate方法验证 &nb
为了减轻后台压力可以利用JavaScript在表单提交前对表单数据进行验证本文整理了常用的几种方式有需求的朋友可以参考下 在表单提交前进行验证的几种方式在Django中为了减轻后台压力可