关于EXT的一点点中文乱码的小小问题.

    今天终于解决了最后一个问题,呵呵,这个也算是新手问题吧,说是解决,其实不以为然,就是换个角度来处理罢了,也许这个就是程序员成长过程当中的一步而已了,说实话,我只是一个应该是可以及时完成任务的人.刚出来工作不久,呵呵,没有多少人那样的轰轰烈烈,我只是在一个小公司打小工,不过仍然是在不断的学习成长着,跟你和他没有多少分别,呵呵,知足常乐,我就是这样的一个人.

 

 

 

     好了,还是言归正传吧,首先,上周末发下任务来,说是用EXT写一个小的分析系统(WEB形式的)呵呵,EXT,在之前学过一点点,不过说实话,这里也不是自己写,只是框架别人搭建好了,自己照着写自己的那部分,也就是几个板块补充完整,(说实话,这里写的对一些人来说不一定管用,为什么?因为这里只是千千万万个框架形式当中的一个而已.)

 

 

 

     还是说问题吧.(首先还是说说框架,后台是java,前台说是jsp,其实有点冒名顶用,因为除了那一句div之外,全部都是EXT,不管怎么样,就是)(Spring(控制)+EXT(前台界面+跟后台通信)+Hibernate(数据库数据处理))其中,servlet来进行通信.EXT接触.通过下面的一点问题,大家就会看到.

 

     问题代码:

 

  1. /*************************ajax&action方式删除*************************/
  2. function remove() {
  3.     //得到选中的行Grid.grid.getSelectionModel().hasSelection()
  4.     var rows = grid.getSelections();
  5.     if (rows.length == 0 && selectedRow != null)
  6.         rows[0] = selectedRow;
  7.                 //如果至少有一行被选中
  8.     if (rows.length > 0)
  9.     {
  10.         Ext.MessageBox.confirm('选择''您确定要删除记录吗?',
  11.                 function(btn) {
  12.                     if (btn == 'yes') {
  13.                         var ids = new Array();
  14.                         var idsone = new Array();
  15.                         for (var i = 0; i < rows.length; i++) {
  16.                             //取得ID列。注意:这里取的是表格中列名为remark的列
  17.                             ids[i] = rows[i].get('intfName');
  18.                             idsone[i] = rows[i].get('intfName');
  19.                         }
  20.                         Ext.Ajax.request({
  21.                         //请求地址。注意:路径
  22.                             url:'<%=webapp%>/servlet/OuterIntfServlet?action=delete&ids=' + ids,
  23.                         //提交参数组
  24.                             params: 'idsids='+ids,
  25.                                     //idsone:idsone,
  26.                                     //password:ids
  27.                             //LoginName:Ext.get('LoginName').dom.value,
  28.                             //LoginPassword:Ext.get('LoginPassword').dom.value
  29.                             //},
  30.                         //成功时回调
  31.                             //method : 'POST',
  32.                             success: function(response, options) {
  33.                                 //获取响应的json字符串
  34.                                 var responseArray = Ext.util.JSON.decode(response.responseText);
  35.                                 if (responseArray.success == true) {
  36.                                     Ext.Msg.alert('成功', responseArray.info);
  37.                                 }
  38.                                 else {
  39.                                     Ext.Msg.alert('失败', responseArray.errorInfo);
  40.                                 }
  41.                             }
  42.                         });
  43.                         
  44.                         this.ds.reload();
  45.                     }
  46.                 }
  47.                 );
  48.     }
  49.     else
  50.     {
  51.         Ext.MessageBox.alert('提示''要执行删除操作, 请至少选择一条记录!');
  52.     }
  53.                 //alert('remove end...');
  54. }
  55. /*************************ajax&action方式删除*************************/

就是这一句话

  1. Ext.Ajax.request({
  2.                         //请求地址。注意:路径
  3.                             url:'<%=webapp%>/servlet/OuterIntfServlet?action=delete&ids=' + ids,
  4.                         //提交参数组
  5.                             params: 'idsids='+ids,

 

   主要是出在URL,不知道传回servlet为什么会是Unicode编码方式,所以无从下手转码,这里也许跟java文件,js文件等的编码有关系,(这里说一句,由于做写模板的人不是我,呵呵,除了jsp它用utf-8的编码,包括文件的编码格式,其他的文件编码格式用的ANSI,就是熟悉的GBK,呵呵,所以出现了这样的问题?其实我也不知道,如果有人说,我可以全部都用UTF-8然后再试试,不用了,呵呵,等有时间再来试试吧,由于现在还得工作,只是写下心得,等有机会和时间了我肯定会注意到的.也会解决的,这里传递参数到后台,就是由于URL传递给servlet出现乱码,params就不会,为什么,说实话,关于研究这里的问题,我还不是很深入,所以不敢来妄加评论,所以只能说,我找到了替代方法,如果说,换台电脑不会出现问题,那敢情好.直接删除或注销掉params,把后台的参数换回去,就可以了,但是我想这里是一个问题,所以必须提出来看看.虽然上面,用参数和URL,来传递到后台都是同样的效果,但是传递的地方不一样,虽然都是同一个,

 

   这里只是从中学到了很多,解决这个问题,说实话,刚开始我就直接用到了另外的方式来传递,也许是做了几个这样的问题了吧,所以直接就用params来处理了,(其实不是EXT里面做多了,只是看到了传递参数有几个地方都可以,所以直接想用其他方式可以不,呵呵,EXT,还是第一次做.)一试就行了,但是还是花了我不少时间,因为,我想直接用URL来得比较的好,至少看上去完美一些,时间换来的也不是问题的解决,最终想想,就跟上一次写,(其实也是第一次写)一样,搁置一下,等待这自己深入之后再来解决比较的好.

 

这里说的只是解决问题的方式罢了,

 

     关于EXT,还是看看API,学习比较好,呵呵,

http://www.ajaxjs.com/docs/

这个是它的半中文API,大家可以参考一下.

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值