原文链接http://www.cnblogs.com/cookies9/archive/2011/01/09/1931312.html
就是在一个JSP页面接收ActionForm的属性时,如果输入的是中文,那么在ActionForm接收后会是乱码
解决方案有2个:
1.在Action类中解决,这个我试过,不可行
2.在ActionForm中解决,这个我试过,可行,而且很方便
在ActionForm中的reset方法中加入如下代码即可,可输出英文或中文
1public void reset(ActionMapping mapping, HttpServletRequest request) { 2 try { 3 request.setCharacterEncoding("GBK"); 4 } catch (Exception e) { 5 // TODO: handle exception 6 } 7 }那么在Action就可以输出中文的属性了
1public ActionForward execute(ActionMapping mapping, ActionForm form, 2 HttpServletRequest request, HttpServletResponse response) { 3 4 PersonalForm personalForm = (PersonalForm) form;// TODO Auto-generated method stub 5 System.out.println(personalForm.getUsername()); 6 System.out.println(personalForm.getPassword()); 7 return mapping.findForward("step2"); 8 }