web通用的代码块package com.ruoyi.common.core.controller;

import java.beans.PropertyEditorSupport;

import java.util.Date;

import java.util.List;

import org.slf4j.Logger;

import org.slf4j.LoggerFactory;

import org.springframework.web.bind.WebDataBinder;

import org.springframework.web.bind.annotation.InitBinder;

import com.github.pagehelper.PageHelper;

import com.github.pagehelper.PageInfo;

import com.ruoyi.common.constant.HttpStatus;

import com.ruoyi.common.core.domain.AjaxResult;

import com.ruoyi.common.core.page.PageDomain;

import com.ruoyi.common.core.page.TableDataInfo;

import com.ruoyi.common.core.page.TableSupport;

import com.ruoyi.common.utils.DateUtils;

import com.ruoyi.common.utils.StringUtils;

import com.ruoyi.common.utils.sql.SqlUtil;

/**

* web层通用数据处理

*

* @author ruoyi

*/public class BaseController

{

protected final Logger logger = LoggerFactory.getLogger(BaseController.class);

/**

* 将前台传递过来的日期格式的字符串,自动转化为Date类型

*/

@InitBinder

public void initBinder(WebDataBinder binder)

{

// Date 类型转换

binder.registerCustomEditor(Date.class, new PropertyEditorSupport()

{

@Override

public void setAsText(String text)

{

setValue(DateUtils.parseDate(text));

}

});

}

/**

* 设置请求分页数据

*/

protected void startPage()

{

PageDomain pageDomain = TableSupport.buildPageRequest();

Integer pageNum = pageDomain.getPageNum();

Integer pageSize = pageDomain.getPageSize();

if (StringUtils.isNotNull(pageNum) && StringUtils.isNotNull(pageSize))

{

String orderBy = SqlUtil.escapeOrderBySql(pageDomain.getOrderBy());

PageHelper.startPage(pageNum, pageSize, orderBy);

}

}

/**

* 响应请求分页数据

*/

@SuppressWarnings({ "rawtypes", "unchecked" })

protected TableDataInfo getDataTable(List> list)

{

TableDataInfo rspData = new TableDataInfo();

rspData.setCode(HttpStatus.SUCCESS);

rspData.setMsg("查询成功");

rspData.setRows(list);

rspData.setTotal(new PageInfo(list).getTotal());

return rspData;

}

/**

* 响应返回结果

*

* @param rows 影响行数

* @return 操作结果

*/

protected AjaxResult toAjax(int rows)

{

return rows > 0 ? AjaxResult.success() : AjaxResult.error();

}

/**

* 页面跳转

*/

public String redirect(String url)

{

return StringUtils.format("redirect:{}", url);

}

}

分页package com.ruoyi.common.core.page;

import com.ruoyi.common.utils.StringUtils;

/**

* 分页数据

*

* @author ruoyi

*/public class PageDomain

{

/** 当前记录起始索引 */

private Integer pageNum;

/** 每页显示记录数 */

private Integer pageSize;

/** 排序列 */

private String orderByColumn;

/** 排序的方向desc或者asc */

private String isAsc = "asc";

public String getOrderBy()

{

if (StringUtils.isEmpty(orderByColumn))

{

return "";

}

return StringUtils.toUnderScoreCase(orderByColumn) + " " + isAsc;

}

public Integer getPageNum()

{

return pageNum;

}

public void setPageNum(Integer pageNum)

{

this.pageNum = pageNum;

}

public Integer getPageSize()

{

return pageSize;

}

public void setPageSize(Integer pageSize)

{

this.pageSize = pageSize;

}

public String getOrderByColumn()

{

return orderByColumn;

}

public void setOrderByColumn(String orderByColumn)

{

this.orderByColumn = orderByColumn;

}

public String getIsAsc()

{

return isAsc;

}

public void setIsAsc(String isAsc)

{

this.isAsc = isAsc;

}

}

Logo

快速构建 Web 应用程序

更多推荐