(最近做的东西的笔记,以后用到其他方法再进行添加)
第一部分 打开新页面加载静态数据
1 ModelMap
Controller:
@RequestMapping(value = "show.do", method = RequestMethod.GET) public String show(HttpServletRequest request,HttpServletResponse response, ModelMap model) { //调用ModelMap的addAttribute方法 return ""; }JSP:
<c:forEach items="${requestScope.models}" var="model"> <tr rowSelected()" onMouseOver="rowOver()" onMouseOut="rowRemove()"> <td>${model.data}</td> </tr> </c:forEach>
第二部分 动态加载页面数据
1 Ajax方法
JavaScript:
function refresh(param) { $.ajax({ url : '...', data : { "param" : param }, dataType : 'json', success : function(result) { //process }, error : function(xhr, status, error) { console.error(error); } }) }Controller:
@RequestMapping(value="...",method= RequestMethod.GET,produces = {"text/html;charset=utf-8"}) public @ResponseBody String getData(HttpServletRequest request, HttpServletResponse response, ModelMap model) { String param=request.getParameter("param"); try { param = new String(param.getBytes("iso8859-1"), "utf-8"); //process Gson gson=new Gson(); return gson.toJson(result); } catch (UnsupportedEncodingException e) { e.printStackTrace(); return null; } }
第三部分 常见问题
1 服务器接收到的参数为乱码
解决方案:
param = new String(param.getBytes("iso8859-1"), "utf-8");
2 传回的结果显示为乱码
解决方案:
在RequesMapping中添加produces = {"text/html;charset=utf-8"}
参考:点击打开链接