在flexigrid 中自带的查询功能很不错,但是功能比较单一,只能单条件进行查询,同样如果输入的是中文在后台解析的进候会显示乱码。
现在介绍一种处理这种乱码的方法,首先修改flexigrid 的源码如下:
var param = [ { name : 'page', value : p.newp }, { name : 'rp', value : p.rp }, { name : 'sortname', value : p.sortname }, { name : 'sortorder', value : p.sortorder }, { name : 'query', value : encodeURI(encodeURI(p.query)) }, { name : 'qtype', value : p.qtype } ];
name : 'query', value : encodeURI(encodeURI(p.query))
通过 使用两次encodeURI进行编码处理,然后在后台需要进行如下的解码操作:
public static String decode(String str){ try { if(str!=null && !str.trim().equals("") && !str.trim().equalsIgnoreCase("null")){ return URLDecoder.decode(URLDecoder.decode(str),"UTF-8"); }else{ return ""; } } catch (Exception e) { e.printStackTrace(); return str; } }
更多文章见:http://www.16boke.com