FastQ思路之Easyui基于Json进行前后台数据交互的实现思路
为什么实用json
问题一:jsp页面json如何赋值给java对象
问题二:java对象如何转json给jsp页面
1、页面发起请求getT_Rolelist.do
2、被web.xml配置的springMvc拦截器拦截
<servlet-mapping>
<servlet-name>springMvc</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
3、拦截后跳转至控制器T_RoleController.getT_RoleList(HttpServletRequest, HttpServletResponse)
@Log(message="角色列表查询") @RequestMapping("getT_RoleList") @ResponseBody public EUDataGrid getT_RoleList(HttpServletRequest request, HttpServletResponse response) { // 获取请求 Map<?, ?> paramMap = getPageParam(request); // 分页查询 return t_roleService.getEasyUiAllList(paramMap); }
4、查询数据库后返回result,如下
@Override public EUDataGrid getEasyUiAllList(Map map) { // TODO Auto-generated method stub // 分页参数定义 String page = map.get("page").toString(); String rows = map.get("rows").toString(); PageHelper.startPage(Integer.parseInt(page), Integer.parseInt(rows)); // 查询 List<T_Role> list = t_roleDao.getEasyUiAllList(map); // 创建一个返回值对象 EUDataGrid result = new EUDataGrid(); result.setRows(list); // 取记录总条数 PageInfo<T_Role> pageInfo = new PageInfo<T_Role>(list); result.setTotal(pageInfo.getTotal()); return result; }
其中,PageHelper为mybatis分页插件不作解释,EUDataGrid为自定义JavaBean,如下
public class EUDataGrid<T> implements java.io.Serializable { //总条数 private long total = 0; //返回记录 private List<T> rows = new ArrayList(); public long getTotal() { return total; } public void setTotal(long total) { this.total = total; } public List<T> getRows() { return rows; } public void setRows(List<T> rows) { this.rows = rows; } }
5、回到控制器,通过@ResponseBody注解进行解析,@ResponseBody完成http消息转换,spring默认采用的json协议解析由Jackson完成
/** * 角色列表分页 * @param request * @param response * @return * @author 韩慧兵 * @version 2016年5月18日 上午10:50:28 * @since JDK 1.6 */ @Log(message="角色列表查询") @RequestMapping("getT_RoleList") @ResponseBody public EUDataGrid getT_RoleList(HttpServletRequest request, HttpServletResponse response) { // 获取请求 Map<?, ?> paramMap = getPageParam(request); // 分页查询 return t_roleService.getEasyUiAllList(paramMap); }
6、回到页面
easyui负责解析json
人在山中,才知道,白云也可以抓上一把,苍翠竟有清甜的味道。
人在山中,才知道,高度永远是一个变量,而快乐则是附于中跋涉过程的函数。
人在山中,才知道,庄严是望远时的一种心境,高处才能指点江山。