永发信息网

Java FormBean如何向数据库过滤数据?

答案:5  悬赏:10  手机版
解决时间 2021-04-10 23:55
现在我的表单提交给Action 然后存到数据库里却是乱码!!!
最佳答案
建议你把ACTION里的respons的编码格式设置成数据一致更好能写个过滤器
全部回答
因为你服务器没有进行转码。 要么你就是new String("字符串".getBytes("iso8859-1"),GBK); 要是不想每次都手动转码的话就建立一个过滤器。 过滤器中doFilter()方法中: request.setCharacterEncoding("GBK");建过滤器:建立一个类,该类实现Filter接口,该接口有三个方法,其中你在 doFilter()方法中输入: request.setCharacterEncoding("GBK"); chain.doFilter(request, response); 接下来在web.xml中配置 <filter> <filter-name>myfilter(类的别名)</filter-name> <filter-class>xx.MyFilter(类的路径)</filter-class> </filter> <filter-mapping> <filter-name>myfilter</filter-name> <url-pattern>*.do</url-pattern> </filter-mapping>

//request 中的值放进MAP中去

public HashMap getData() { Map map = request.getParameterMap(); HashMap data = new HashMap(); Set set = map.keySet(); for(Object o : set) { String[] value = (String[])map.get(o); if(value!=null && value.length==1) { data.put(o, value[0]); }else{ data.put(o, value); } } return Convert.doChangeMap(data); }

//转换MAP中的值

public static String convert(String strTemp) { try { //return str; String temp_p ; //System.out.println("temp_p=="+new String(strTemp.getBytes("ISO-8859-1"), "gbk")); temp_p= new String(strTemp.getBytes("ISO-8859-1"), "gbk"); return temp_p; }catch (Exception e) { return ""; } } public static HashMap doChangeMap(Map m){ Iterator it = m.entrySet().iterator(); // MAP 中字符的转换 while (it.hasNext()) { Map.Entry pairs = (Map.Entry)it.next(); // System.out.println("key=="+pairs.getKey()+" VALUE="+pairs.getValue().toString()); m.put(pairs.getKey(),Convert.convert(pairs.getValue().toString())); } return (HashMap)m; }

不明白的再问我!

如果需要过滤器的话加我Q 我发一个我写好的过滤器

把jsp中全改成utf-8

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
鬼剑士的哪个职业比较厉害?
为什么日本的街上没有民工?
为什么进不了空间?
包皮过长怎么办?
(1)氢氧化钠可以用作干燥剂,能不能干燥二
更换电脑主板电池独立显卡为什么坏了
形容人心情舒畅的诗词,形容心情舒畅的古诗词
金星床上用品在什么地方啊,我要过去处理事情
求夜藤的瓶邪文 尤其是全部的《毒》以及三篇
物质是不依赖于人的意识并能为意识所反映的客
体操运动员在做吊环项目的“十字支撑”动作时
营业执照不申报会怎样,不报国税会怎样?
诛仙飞升入阵营问题!高手进来指点一下!
程序在计算机内部是如何运行的?
我要在工行贷款,担保人能是自己的父母吗?
推荐资讯
一个九位数,最高位是9,千万位和千位都是5,
怎么用手机连接台式电脑上网?
财付通无法注册,显示已经注册账号,我的财付
我儿子2009.11.9 9.59出生 起个什么名字好 姓
数学园椎曲线题
单选题2010年4月14日,国务院总理温家宝主持
TV has done a great deal in the daily life
解答题阅读下列材料材料一 江户时代实现的国
下列数值最接近实际情况的是A.初中生跑50m所
大家知道那些明星都用什么BB霜呀!
我的宠物老死为什么?
郭氏烧烤城一号店地址有知道的么?有点事想过
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?