日期:2014-05-16  浏览次数:20536 次

急急急 extjs中文url中文参数乱码
我前台使用field提交,不通过form提交,后台解释收到中文参数乱码
使用URIencode处理参数任然乱码

Ext.onReady(function(){
var store = Ext.create('Ext.data.Store', {
pageSize: 20,
model: 'Depart',
proxy: {
type: 'ajax',
url: '/myproj/servlet/DepartServlet',
reader: {
type: 'xml',
record: 'DEPART',
totalProperty: 'TOTAL',
id: 'DEPART_ID'
}
}
});

store.load({
params: {
start: 0,
limit: 20
}
});

    
    
    //条件查询
    var depart_id = new Ext.form.Field({
xtype: 'textfield',
labelAlign: 'right',
fieldLabel: '部门编号',
width: 200
});

var depart_name = new Ext.form.Field({
xtype: 'textfield',
labelAlign: 'right',
fieldLabel: '部门名称',
width: 200
});


var grid = new Ext.grid.GridPanel({
store: store,
columns:[
{id:"AUTO_ID",header:'序号', width:90,dataIndex:'AUTO_ID'},
{header:"部门编号",width:90,dataIndex:'DEPART_ID'},
{header:"部门名称",width:110,dataIndex:'DEPART_NAME'},
{header:"状态",width:100,dataIndex:'STATUS'}
],
stripeRows:true,
autoExpandColumn:'AUTO_ID',
height:480,
width:1000,
renderTo: 'gridpanel',
title:'部门信息维护',
tbar: [
depart_id,
depart_name,
//searchFormPanel,
new Ext.button.Button({
xtype: 'button',
labelAlign: 'right',
text: '查询',
handler: function() {
//条件查询
var id = depart_id.value;
var name = depart_name.value;
var begin = begin_date.value;
var end = end_date.value;
if(id == undefined && name == undefined && begin == undefined && end == undefined) {
Ext.Msg.alert('提示','搜索条件不能全为空');
return;
}

//*************************************************这里传参乱码
var url = "search_pages/BQ_DEPART.jsp?depart_id=" + id + "&depart_name=" + encodeURI(encodeURI(name));
 
Ext.create('Ext.window.Window', {
width: 1050,
height: 520,
hidden: true,
html : "<iframe scrolling='no' frameborder='0' width='100%' height='100%' src=" +url + "></iframe>",
title: '查询结果'
}).show();
}
})
]
});

});

后台接收参数代码:
String depart_id = request.getParameter("depart_id");
String depart_name = URLEncoder.encode(request.getParameter("depart_name"),"utf-8");
System.out.println(depart_name);
extjs url

------解决方案--------------------
String depart_name = URLEncoder.encode(request.getParameter("depart_name"),"utf-8");
亲,你这里要解码啊
URLEncoder.unencode(request.getParameter("depart_name"),"utf-8");