出版商后台系统书名搜索中文问题及后续带来的不能分页问题

来源:互联网 发布:微信淘宝下单返利骗局 编辑:程序博客网 时间:2024/05/22 13:46

1.通过搜索中文关键字发现控制台的sql语句在执行中Executing: Parameters: 两项的参数值均为空,也就是说不能将前端中文字符传给后端mybatis

2.解决办法:

  前端:url = '../../bookMark_Content/selectShuming?name='
+ encodeURIComponent(value);
url=encodeURI(url);

 

 后端:

public static JSONObject setQueryParamss(HttpServletRequest request) {JSONObject queryParamJSON=new JSONObject();String values =  request.getParameter("title");try {values = URLDecoder.decode(values, "UTF-8");}catch(Exception ee )   { }queryParamJSON.put("title", values);return queryParamJSON;}

3.应用上述办法解决后,控制台输出如下,说明中文字符被正确的传入到mybatis,但是仍然检索不到数据

Executing: SELECT number, section, subject, grade, status, bookmark_id, (select name from lftquestdb.bookmark where id=bookmark_id) AS name FROM lftquestdb.bookmark_content WHERE (bookmark_id = (SELECT id FROM lftquestdb.bookmark WHERE name = ? ) ) AND number IS NOT NULL ORDER BY number ASC LIMIT 0,10 
Parameters: 数学选修4-1(A) 人教A版(String)

4.继续在配置文件里修改,田间红色部分内容

 jdbc.read_url=jdbc:mysql://rdsejg067u6wc72frg1spublic.mysql.rds.aliyuncs.com:3306/pressmanagement?useUnicode=true&characterEncoding=UTF-8


5.至此中文字符串的转码问题得到解决,但是前端分页出现问题,无论怎样翻页,之后页面内容都和第一页内容相同,因为前端用于分页的数据page,rows 没有传送到后端,后端一直在应用默认的分页数据。解决办法,修改后端数据如下

 

public static JSONObject setQueryParamss(HttpServletRequest request) {JSONObject queryParamJSON=new JSONObject();Enumeration<?> paramEnum = request.getParameterNames();while (paramEnum.hasMoreElements()) {String param = paramEnum.nextElement().toString();String values =  request.getParameter(param);try {values=URLDecoder.decode(values, "UTF-8"); }catch(Exception ee ) {}queryParamJSON.put(param, values);}return queryParamJSON;}


在easyui的分页中,page,rows 这两个数据(可能还包括其他分页数据)是被插件传入后端的(必然是通过request),不可见,且火狐浏览器在获取request时也看不到

相关的内容

0 0
原创粉丝点击