最近用easyUI做一个下拉框,在输入某值后根据某值模糊查询:

$('#comboboxA').combobox({
url:basePath+'form/formListForCombobox',
method:'get',
valueField:'formId',
textField:'formDisplayName',
panelHeight:200,
multiple:false,
keyHandler: {
up: function (e) { //【向上键】押下处理
},
down: function (e) { //【向下键】押下处理
},
enter: function (e) { //【回车键】押下处理
var inputText = $('#comboboxA').combobox('getText');
var url = basePath+'form/searchFormList'+'?inputText='+ inputText;
$('#comboboxA').combobox('reload',url);
$('#comboboxA').combobox('setValue',inputText);
/*$.ajax({
type:'post',
url:basePath+'form/searchFormList',
data:{'inputText':inputText},
dataType:'json',
success:function (formOptionList){
console.log(formOptionList);
},
error: function(result) {
if(result != 'null' && result != ''){
$.messager.alert("提示", "出现未知错误!");
}
}
});*/
},
query: function (keyword) { //【动态搜索】处理
}
}
});

其中的var url = basePath+'form/searchFormList'+'?inputText='+ inputText;

这一行用到了get方式传参(url后面直接跟参数为get方式,将参数放在data{"inputText":"inputText"}为post方式传参)。

而如果没有配置Servers\Tomcat v7.0 Server at localhost-config\server.xml的约64行:

则会出现中文乱码。



此乱码还有一种解决方案:

js中:var url = basePath+'form/searchFormList'+'?inputText='+ encodeURI(inputText,"UTF-8");

controller中: String inputTextVal = new String(inputText.getBytes("ISO-8859-1"),"UTF-8");

不过,第一种方法比较推荐,直接在配置里配置一下方便。