1.JsonDateTypeConvert.java
package com.tanzhou.tzms.common.web;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.JsonSerializer;
import com.fasterxml.jackson.databind.SerializerProvider;
/**springmvc 在将日期对象转换为字符串时, 一般默认会转换为长整型,假如我们需要自己定义格式,通常会写一个类继承JsonSerializer
* 假如在对象中需要将日期转换为我们需要的格式可以在对应的实体对象的get方法中使用
* @JsonSerializer(using=JsonDateTypeConvert.class)
* */
public class JsonDateTypeConvert extends JsonSerializer<Date>{
/**
* @param value 是要转换的日期
* @param gen 为一个json对象生成器
* */
@Override
public void serialize(Date value,JsonGenerator gen, SerializerProvider serializers)throws IOException, JsonProcessingException {
//定义日期字符串转换对象
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
//将日期转换为指定格式字符串
String dateStr = sdf.format(value);
//将此字符串写入到json对象中
gen.writeString(dateStr);
}
}
2.JsonResult.java
package com.tanzhou.tzms.common.web;
/**
* 用于封装Controller方法上有@ResponseBody注解的方法的返回值
* 目的:统一返回值类型,便于在页面上进行统一处理
* */
public class JsonResult {
private static final int SUCCESS=1;
private static final int ERROR=0;
/**状态*/
private int state;
/**对应状态的消息*/
private String message;
/**具体业务数据*/
private Object data;
/**此构造方法应用于data为null的场景*/
public JsonResult(){
this.state=SUCCESS;//1
this.message="OK";
}
/**有具体业务数据返回时,使用此构造方法*/
public JsonResult(Object data){
this();
this.data=data;
}
/**出现异常以后要调用此方法封装异常信息*/
public JsonResult(Throwable t){
this.state=ERROR;
this.message=t.getMessage();
}
public Object getData() {
return data;
}
public int getState() {
return state;
}
public String getMessage() {
return message;
}
public void setState(int state) {
this.state = state;
}
}
3.PageObject.java
package com.tanzhou.tzms.common.web;
import java.io.Serializable;
/**
* 封装具体的分页信息
* @author Administrator
*
*/
public class PageObject implements Serializable{
private static final long serialVersionUID = -8753809986545361268L;
/**当前页*/
private int pageCurrent=1;
/**每页最多能显示的记录数*/
private int pageSize=5;
/**总记录数*/
private int rowCount;
/**上一页的最后一条记录位置
* 对应:limit startIndex,pageSize;
*/
private int startIndex;
public int getPageCurrent() {
return pageCurrent;
}
public void setPageCurrent(int pageCurrent) {
this.pageCurrent = pageCurrent;
}
public int getPageSize() {
return pageSize;
}
public void setPageSize(int pageSize) {
this.pageSize = pageSize;
}
public int getRowCount() {
return rowCount;
}
public void setRowCount(int rowCount) {
this.rowCount = rowCount;
}
public int getPageCount() {
int pages = rowCount/pageSize;//总条数除以每页显示的条数=总页数
if(0 != rowCount%pageSize) {//如果总条数除以每页显示条数有余数
pages +=1;//则页数+1
}
return pages;
}
public int getStartIndex() {
return startIndex;
}
public void setStartIndex(int startIndex) {
this.startIndex = startIndex;
}
@Override
public String toString() {
return "PageObject [pageCurrent=" + pageCurrent + ", pageSize=" + pageSize + ", rowCount=" + rowCount
+ ", startIndex=" + startIndex + "]";
}
}
原文:https://www.cnblogs.com/luyuan-chen/p/11751599.html