• pom.xml文件的配置
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>cn.liuykxl</groupId><artifactId>demoLearn</artifactId><version>0.0.1-SNAPSHOT</version><packaging>war</packaging><name>demoLearn</name><url>http://maven.apache.org</url><!-- 父级项目 --><!--  必须加,否则版本为null--><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>1.5.3.RELEASE</version><relativePath /></parent><!-- 属性设置 --><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><java.version>1.8</java.version><!-- jdK版本 --></properties><dependencies><!-- springboot --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><!-- 移除嵌入式tomcat插件--> <exclusions><exclusion><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-tomcat</artifactId></exclusion></exclusions></dependency><!-- 移除内嵌Tomcat需要重新添加servlet --><dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><scope>provided</scope></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency>    <!-- jsp解析器 -->    <dependency><groupId>org.apache.tomcat.embed</groupId><artifactId>tomcat-embed-jasper</artifactId><scope>provided</scope></dependency><!-- mysql --><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId></dependency><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-core</artifactId></dependency><dependency><groupId>org.codehaus.jackson</groupId><artifactId>jackson-mapper-asl</artifactId><version>1.9.13</version></dependency><dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><version>1.2.17</version></dependency><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.2.1</version></dependency><dependency><groupId>com.google.code.gson</groupId><artifactId>gson</artifactId></dependency></dependencies><!-- 编译 --><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin </artifactId><dependencies> <!--springloaded  hot deploy --> <dependency> <groupId>org.springframework</groupId> <artifactId>springloaded</artifactId> <version>1.2.4.RELEASE</version></dependency> </dependencies> <executions> <execution> <goals> <goal>repackage</goal> </goals> <configuration> <classifier>exec</classifier> </configuration> </execution> </executions></plugin></plugins></build>
</project>
  • 工具类AppUtil的使用:
package cn.liuyk.web.util;import java.util.ArrayList;
import java.util.List;
import java.util.Map;import org.codehaus.jackson.map.util.JSONPObject;/** 接口参数校验* 修改日期:2015/11/2*/
public class AppUtil  {protected static Logger logger = Logger.getLogger(AppUtil.class);/**检查参数是否完整* @param method* @param pd* @return*/public static boolean checkParam(String method, PageData pd){boolean result = false;int falseCount = 0;String[] paramArray = new String[20];String[] valueArray = new String[20];String[] tempArray  = new String[20];  //临时数组if(method=="registered"){// 注册paramArray = Const.APP_REGISTERED_PARAM_ARRAY;  //参数valueArray = Const.APP_REGISTERED_VALUE_ARRAY;  //参数名称}else if(method=="getAppuserByUsernmae"){//根据用户名获取会员信息paramArray = Const.APP_GETAPPUSER_PARAM_ARRAY;  valueArray = Const.APP_GETAPPUSER_VALUE_ARRAY;}int size = paramArray.length;for(int i=0;i<size;i++){String param = paramArray[i];if(!pd.containsKey(param)){tempArray[falseCount] = valueArray[i]+"--"+param;falseCount += 1;}}if(falseCount>0){logger.error(method+"接口,请求协议中缺少 "+falseCount+"个 参数");for(int j=1;j<=falseCount;j++){logger.error("   第"+j+"个:"+ tempArray[j-1]);}} else {result = true;}return result;}/*** 设置分页的参数* @param pd* @return*/public static PageData setPageParam(PageData pd){String page_now_str = pd.get("page_now").toString();int pageNowInt = Integer.parseInt(page_now_str)-1;String page_size_str = pd.get("page_size").toString(); //每页显示记录数int pageSizeInt = Integer.parseInt(page_size_str);String page_now = pageNowInt+"";String page_start = (pageNowInt*pageSizeInt)+"";pd.put("page_now", page_now);pd.put("page_start", page_start);return pd;}/**设置list中的distance* @param list* @param pd* @return*/public static List<PageData>  setListDistance(List<PageData> list, PageData pd){List<PageData> listReturn = new ArrayList<PageData>();String user_longitude = "";String user_latitude = "";try{user_longitude = pd.get("user_longitude").toString(); //"117.11811";user_latitude  = pd.get("user_latitude").toString();  //"36.68484";} catch(Exception e){logger.error("缺失参数--user_longitude和user_longitude");logger.error("lost param:user_longitude and user_longitude");}PageData pdTemp = new PageData();int size = list.size();for(int i=0;i<size;i++){pdTemp = list.get(i);String longitude = pdTemp.get("longitude").toString();String latitude = pdTemp.get("latitude").toString();String distance = MapDistance.getDistance(user_longitude, user_latitude,longitude,        latitude);pdTemp.put("distance", distance);pdTemp.put("size", distance.length());listReturn.add(pdTemp);}return listReturn;}/*** @param pd* @param map* @return*/public static Object returnObject(PageData pd, Map map){if(pd.containsKey("callback")){String callback = pd.get("callback").toString();return new JSONPObject(callback, map);}else{return map;}}
}
  • 工具类Const的使用
package cn.liuyk.web.util;import org.springframework.context.ApplicationContext;
/*** 项目名称:* 修改日期:2015/11/2
*/
public class Const {public static final String SESSION_SECURITY_CODE = "sessionSecCode";//验证码public static final String SESSION_USER = "sessionUser";           //session用的用户public static final String SESSION_ROLE_RIGHTS = "sessionRoleRights";public static final String sSESSION_ROLE_RIGHTS = "sessionRoleRights";public static final String SESSION_menuList = "menuList";           //当前菜单public static final String SESSION_allmenuList = "allmenuList";       //全部菜单public static final String SESSION_QX = "QX";public static final String SESSION_userpds = "userpds";          public static final String SESSION_USERROL = "USERROL";             //用户对象public static final String SESSION_USERNAME = "USERNAME";         //用户名public static final String SESSION_NUMBER = "NUMBER";          //编号public static final String TRUE = "T";public static final String FALSE = "F";public static final String COUNTRY_CHINA = "中国";public static final String BLOOD_TYPE_A = "A型血";public static final String BLOOD_TYPE_B = "B型血";public static final String BLOOD_TYPE_AB = "AB型血";public static final String BLOOD_TYPE_O = "O型血";public static final String LOGIN = "/login_toLogin.do";              //登录地址public static final String SYSNAME = "admin/config/SYSNAME.txt";  //系统名称路径public static final String PASSWORD = "admin/config/PASSWORD.txt";  //系统名称路径public static final String DB_TYPE = "admin/config/DB_TYPE.txt";    //数据源public static final String COMPANY_ID = "admin/config/COMPANY_ID.txt"; //机构的主键public static final String PAGE  = "admin/config/PAGE.txt";          //分页条数配置路径public static final String EMAIL = "admin/config/EMAIL.txt";      //邮箱服务器配置路径public static final String SMS1 = "admin/config/SMS1.txt";           //短信账户配置路径1public static final String SMS2 = "admin/config/SMS2.txt";           //短信账户配置路径2public static final String FWATERM = "admin/config/FWATERM.txt"; //文字水印配置路径public static final String IWATERM = "admin/config/IWATERM.txt";  //图片水印配置路径public static final String WEIXIN = "admin/config/WEIXIN.txt";    //微信配置路径public static final String WEBSOCKET = "admin/config/WEBSOCKET.txt";//WEBSOCKET配置路径public static final String FILEPATHIMG = "uploadFiles/uploadImgs/";  //图片上传路径public static final String FILEPATHFILE = "uploadFiles/file/";      //文件上传路径public static final String FILEPATHMOULD = "uploadFiles/mouldFile/";        //模具文件上传路径public static final String FILEPATHTWODIMENSIONCODE = "uploadFiles/twoDimensionCode/"; //二维码存放路径public static final String NO_INTERCEPTOR_PATH = ".*/((login)|(logout)|(code)|(app)|(weixin)|(static)|(main)|(changeCompanyByDB)|(websocket)).*"; //不对匹配该值的访问路径拦截(正则)public static ApplicationContext WEB_APP_CONTEXT = null; //该值会在web容器启动时由WebAppContextListener初始化/*** APP Constants*///app注册接口_请求协议参数)public static final String[] APP_REGISTERED_PARAM_ARRAY = new String[]{"countries","uname","passwd","title","full_name","company_name","countries_code","area_code","telephone","mobile"};public static final String[] APP_REGISTERED_VALUE_ARRAY = new String[]{"国籍","邮箱帐号","密码","称谓","名称","公司名称","国家编号","区号","电话","手机号"};//app根据用户名获取会员信息接口_请求协议中的参数public static final String[] APP_GETAPPUSER_PARAM_ARRAY = new String[]{"USERNAME"};public static final String[] APP_GETAPPUSER_VALUE_ARRAY = new String[]{"用户名"};}
  • 工具类DateUtil的使用
package cn.liuyk.web.util;import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;/** * 说明:日期处理* * 修改时间:2015年11月24日* @version*/
public class DateUtil {private final static SimpleDateFormat sdfYear = new SimpleDateFormat("yyyy");private final static SimpleDateFormat sdfDay = new SimpleDateFormat("yyyy-MM-dd");private final static SimpleDateFormat sdfDayFormat = new SimpleDateFormat("yyyy.MM.dd");private final static SimpleDateFormat sdfDays = new SimpleDateFormat("yyyyMMdd");private final static SimpleDateFormat sdfTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");private final static SimpleDateFormat sdfTimes = new SimpleDateFormat("yyyyMMddHHmmss");/*** 获取YYYY格式* @return*/public static String getSdfTimes() {return sdfTimes.format(new Date());}/*** 获取YYYY格式* @return*/public static String getYear() {return sdfYear.format(new Date());}/*** 获取YYYY-MM-DD格式* @return*/public static String getDay() {return sdfDay.format(new Date());}/*** 获取YYYYMMDD格式* @return*/public static String getDays(){return sdfDays.format(new Date());}/*** 获取YYYY.MM.DD格式* @return*/public static String getFormat(){return sdfDayFormat.format(new Date());}/*** 获取YYYY-MM-DD HH:mm:ss格式* @return*/public static String getTime() {return sdfTime.format(new Date());}/*** @Title: compareDate* @Description: TODO(日期比较,如果s>=e 返回true 否则返回false)* @param s* @param e* @return boolean  * @throws*/public static boolean compareDate(String s, String e) {if(fomatDate(s)==null||fomatDate(e)==null){return false;}return fomatDate(s).getTime() >=fomatDate(e).getTime();}/*** 格式化日期* @return*/public static Date fomatDate(String date) {DateFormat fmt = new SimpleDateFormat("yyyy-MM-dd");try {return fmt.parse(date);} catch (ParseException e) {e.printStackTrace();return null;}}/*** 校验日期是否合法* @return*/public static boolean isValidDate(String s) {DateFormat fmt = new SimpleDateFormat("yyyy-MM-dd");try {fmt.parse(s);return true;} catch (Exception e) {// 如果throw java.text.ParseException或者NullPointerException,就说明格式不对return false;}}/*** @param startTime* @param endTime* @return*/public static int getDiffYear(String startTime,String endTime) {DateFormat fmt = new SimpleDateFormat("yyyy-MM-dd");try {//long aa=0;int years=(int) (((fmt.parse(endTime).getTime()-fmt.parse(startTime).getTime())/ (1000 * 60 * 60 * 24))/365);return years;} catch (Exception e) {// 如果throw java.text.ParseException或者NullPointerException,就说明格式不对return 0;}}/*** <li>功能描述:时间相减得到天数* @param beginDateStr* @param endDateStr* @return* long * @author Administrator*/public static long getDaySub(String beginDateStr,String endDateStr){long day=0;java.text.SimpleDateFormat format = new java.text.SimpleDateFormat("yyyy-MM-dd");java.util.Date beginDate = null;java.util.Date endDate = null;try {beginDate = format.parse(beginDateStr);endDate= format.parse(endDateStr);} catch (ParseException e) {e.printStackTrace();}day=(endDate.getTime()-beginDate.getTime())/(24*60*60*1000);//System.out.println("相隔的天数="+day);return day;}/*** 得到n天之后的日期* @param days* @return*/public static String getAfterDayDate(String days) {int daysInt = Integer.parseInt(days);Calendar canlendar = Calendar.getInstance(); // java.util包canlendar.add(Calendar.DATE, daysInt); // 日期减 如果不够减会将月变动Date date = canlendar.getTime();SimpleDateFormat sdfd = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");String dateStr = sdfd.format(date);return dateStr;}/*** 得到n天之后是周几* @param days* @return*/public static String getAfterDayWeek(String days) {int daysInt = Integer.parseInt(days);Calendar canlendar = Calendar.getInstance(); // java.util包canlendar.add(Calendar.DATE, daysInt); // 日期减 如果不够减会将月变动Date date = canlendar.getTime();SimpleDateFormat sdf = new SimpleDateFormat("E");String dateStr = sdf.format(date);return dateStr;}/*** 获取当月的 天数*/public static int getCurrentMonthDay(){Calendar a = Calendar.getInstance();a.set(Calendar.DATE, 1);a.roll(Calendar.DATE, -1);int maxDate = a.get(Calendar.DATE);return maxDate;}/*** 根据 年、月 获取对应的月份 的 天数*/public static int getDaysByYearMonth(int year, int month){Calendar a = Calendar.getInstance();a.set(Calendar.YEAR, year);a.set(Calendar.MONTH, month - 1);a.set(Calendar.DATE, 1);a.roll(Calendar.DATE, -1);int maxDate = a.get(Calendar.DATE);return maxDate;}/*** 根据分类导入基础数据* @param group_cd* @return*/public static List<PageData> exportRSM(String group_cd){List<PageData> list = new ArrayList<>();if (group_cd.equals("1")) {PageData pd1 = new PageData();pd1.put("AREA_ID", "1");pd1.put("AREA_NM", "基础资源");PageData pd2 = new PageData();pd2.put("AREA_ID", "2");pd2.put("AREA_NM", "厂商组合");PageData pd3 = new PageData();pd3.put("AREA_ID", "3");pd3.put("AREA_NM", "客户组合");PageData pd4 = new PageData();pd4.put("AREA_ID", "4");pd4.put("AREA_NM", "作业组合");PageData pd5 = new PageData();pd5.put("AREA_ID", "5");pd5.put("AREA_NM", "工序分类");PageData pd6 = new PageData();pd6.put("AREA_ID", "6");pd6.put("AREA_NM", "工序类型");PageData pd7 = new PageData();pd7.put("AREA_ID", "7");pd7.put("AREA_NM", "科目区分");PageData pd8 = new PageData();pd8.put("AREA_ID", "8");pd8.put("AREA_NM", "销项区分");PageData pd9 = new PageData();pd9.put("AREA_ID", "9");pd9.put("AREA_NM", "成本区分");PageData pd10 = new PageData();pd10.put("AREA_ID", "10");pd10.put("AREA_NM", "预算区分");PageData pd11 = new PageData();pd11.put("AREA_ID", "11");pd11.put("AREA_NM", "费率区分");PageData pd12 = new PageData();pd12.put("AREA_ID", "12");pd12.put("AREA_NM", "物料区分");PageData pd13 = new PageData();pd13.put("AREA_ID", "13");pd13.put("AREA_NM", "成本区分");PageData pd14 = new PageData();pd14.put("AREA_ID", "14");pd14.put("AREA_NM", "供应区分");PageData pd15 = new PageData();pd15.put("AREA_ID", "15");pd15.put("AREA_NM", "订单区分");PageData pd16 = new PageData();pd16.put("AREA_ID", "16");pd16.put("AREA_NM", "环境参数");PageData pd17 = new PageData();pd17.put("AREA_ID", "17");pd17.put("AREA_NM", "标签分类");PageData pd18 = new PageData();pd18.put("AREA_ID", "18");pd18.put("AREA_NM", "单据流程");list.add(pd1);list.add(pd2);list.add(pd3);list.add(pd4);list.add(pd5);list.add(pd6);list.add(pd7);list.add(pd8);list.add(pd9);list.add(pd10);list.add(pd11);list.add(pd12);list.add(pd13);list.add(pd14);list.add(pd15);list.add(pd16);list.add(pd17);list.add(pd18);} else {PageData pd1 = new PageData();pd1.put("AREA_ID", "1");pd1.put("GROUP_CD", "1");pd1.put("FILTERED", "0");pd1.put("GROUP_NM", "员工信息");PageData pd2 = new PageData();pd2.put("AREA_ID", "1");pd2.put("GROUP_CD", "2");pd2.put("FILTERED", "0");pd2.put("GROUP_NM", "设备信息");PageData pd3 = new PageData();pd3.put("AREA_ID", "1");pd3.put("GROUP_CD", "3");pd3.put("FILTERED", "0");pd3.put("GROUP_NM", "联系人名");PageData pd4 = new PageData();pd4.put("AREA_ID", "1");pd4.put("GROUP_CD", "4");   pd4.put("FILTERED", "0");pd4.put("GROUP_NM", "厂商信息");PageData pd5 = new PageData();pd5.put("AREA_ID", "1");pd5.put("GROUP_CD", "5");    pd5.put("FILTERED", "0");   pd5.put("GROUP_NM", "客户信息");PageData pd6 = new PageData();pd6.put("AREA_ID", "1");pd6.put("GROUP_CD", "6"); pd6.put("FILTERED", "0");pd6.put("GROUP_NM", "国别信息");PageData pd7 = new PageData();pd7.put("AREA_ID", "1");pd7.put("GROUP_CD", "7");    pd7.put("FILTERED", "0");pd7.put("GROUP_NM", "时区信息");PageData pd8 = new PageData();pd8.put("AREA_ID", "1");pd8.put("GROUP_CD", "8");    pd8.put("FILTERED", "0");   pd8.put("GROUP_NM", "语言版本");PageData pd9 = new PageData();pd9.put("AREA_ID", "1");pd9.put("GROUP_CD", "9"); pd9.put("FILTERED", "0");   pd9.put("GROUP_NM", "部门信息");PageData pd10 = new PageData();pd10.put("AREA_ID", "1");pd10.put("GROUP_CD", "10"); pd10.put("FILTERED", "0");pd10.put("GROUP_NM", "货币符号");PageData pd11 = new PageData();pd11.put("AREA_ID", "1");pd11.put("GROUP_CD", "11");  pd11.put("FILTERED", "0");pd11.put("GROUP_NM", "运用工序");PageData pd12 = new PageData();pd12.put("AREA_ID", "1");pd12.put("GROUP_CD", "12");  pd12.put("FILTERED", "0");pd12.put("GROUP_NM", "车间部署");PageData pd13 = new PageData();pd13.put("AREA_ID", "1");pd13.put("GROUP_CD", "13");  pd13.put("FILTERED", "0");pd13.put("GROUP_NM", "成本项目");PageData pd14 = new PageData();pd14.put("AREA_ID", "1");pd14.put("GROUP_CD", "14");  pd14.put("FILTERED", "0");pd14.put("GROUP_NM", "费率信息");PageData pd15 = new PageData();pd15.put("AREA_ID", "1");pd15.put("GROUP_CD", "15");pd15.put("FILTERED", "0");pd15.put("GROUP_NM", "物料信息");PageData pd16 = new PageData();pd16.put("AREA_ID", "1");pd16.put("GROUP_CD", "16");    pd16.put("FILTERED", "0");pd16.put("GROUP_NM", "标准产品");PageData pd17 = new PageData();pd17.put("AREA_ID", "1");pd17.put("GROUP_CD", "17");  pd17.put("FILTERED", "0");pd17.put("GROUP_NM", "仓库信息");PageData pd18 = new PageData();pd18.put("AREA_ID", "1");pd18.put("GROUP_CD", "18");  pd18.put("FILTERED", "0");pd18.put("GROUP_NM", "计量单位");PageData pd19 = new PageData();pd19.put("AREA_ID", "2");pd19.put("GROUP_CD", "1");   pd19.put("FILTERED", "0");pd19.put("GROUP_NM", "厂商分类");PageData pd20 = new PageData();pd20.put("AREA_ID", "2");pd20.put("GROUP_CD", "2");   pd20.put("FILTERED", "0");pd20.put("GROUP_NM", "厂商组别");PageData pd21 = new PageData();pd21.put("AREA_ID", "3");pd21.put("GROUP_CD", "1");   pd21.put("FILTERED", "0");pd21.put("GROUP_NM", "客户分类");PageData pd22 = new PageData();pd22.put("AREA_ID", "3");pd22.put("GROUP_CD", "2");   pd22.put("FILTERED", "0");pd22.put("GROUP_NM", "客户组别");PageData pd23 = new PageData();pd23.put("AREA_ID", "4");pd23.put("GROUP_CD", "1");pd23.put("FILTERED", "0");pd23.put("GROUP_NM", "作业部署");PageData pd24 = new PageData();pd24.put("AREA_ID", "4");pd24.put("GROUP_CD", "2");pd24.put("FILTERED", "0");pd24.put("GROUP_NM", "备用部署");PageData pd25 = new PageData();pd25.put("AREA_ID", "4");pd25.put("GROUP_CD", "3");pd25.put("FILTERED", "0");pd25.put("GROUP_NM", "备用部署");PageData pd26 = new PageData();pd26.put("AREA_ID", "4");pd26.put("GROUP_CD", "4");pd26.put("FILTERED", "0");pd26.put("GROUP_NM", "外包部署");PageData pd27 = new PageData();pd27.put("AREA_ID", "4");pd27.put("GROUP_CD", "5");   pd27.put("FILTERED", "0");pd27.put("GROUP_NM", "项目节点");PageData pd28 = new PageData();pd28.put("AREA_ID", "5");pd28.put("GROUP_CD", "1");pd28.put("FILTERED", "0");pd28.put("GROUP_NM", "设计类");PageData pd29 = new PageData();pd29.put("AREA_ID", "5");pd29.put("GROUP_CD", "2");   pd29.put("FILTERED", "0");pd29.put("GROUP_NM", "普通类");PageData pd30 = new PageData();pd30.put("AREA_ID", "5");pd30.put("GROUP_CD", "3");    pd30.put("FILTERED", "0");pd30.put("GROUP_NM", "自动类");PageData pd31 = new PageData();pd31.put("AREA_ID", "5");pd31.put("GROUP_CD", "4");    pd31.put("FILTERED", "0");pd31.put("GROUP_NM", "装配类");PageData pd32 = new PageData();pd32.put("AREA_ID", "5");pd32.put("GROUP_CD", "5");    pd32.put("FILTERED", "0");pd32.put("GROUP_NM", "外发类");PageData pd33 = new PageData();pd33.put("AREA_ID", "5");pd33.put("GROUP_CD", "6");    pd33.put("FILTERED", "0");pd33.put("GROUP_NM", "计划外1");PageData pd34 = new PageData();pd34.put("AREA_ID", "5");pd34.put("GROUP_CD", "7");   pd34.put("FILTERED", "0");  pd34.put("GROUP_NM", "计划外2");PageData pd35 = new PageData();pd35.put("AREA_ID", "5");pd35.put("GROUP_CD", "8"); pd35.put("FILTERED", "0");pd35.put("GROUP_NM", "计划外3");PageData pd36 = new PageData();pd36.put("AREA_ID", "5");pd36.put("GROUP_CD", "9");   pd36.put("FILTERED", "0");pd36.put("GROUP_NM", "采购类");PageData pd37 = new PageData();pd37.put("AREA_ID", "5");pd37.put("GROUP_CD", "10");   pd37.put("FILTERED", "0");pd37.put("GROUP_NM", "配送类");PageData pd38 = new PageData();pd38.put("AREA_ID", "5");pd38.put("GROUP_CD", "11");   pd38.put("FILTERED", "0");pd38.put("GROUP_NM", "协助类");PageData pd39 = new PageData();pd39.put("AREA_ID", "5");pd39.put("GROUP_CD", "12");   pd39.put("FILTERED", "0");pd39.put("GROUP_NM", "简介类");PageData pd40 = new PageData();pd40.put("AREA_ID", "5");pd40.put("GROUP_CD", "13");   pd40.put("FILTERED", "0");pd40.put("GROUP_NM", "大计划");PageData pd41 = new PageData();pd41.put("AREA_ID", "6");pd41.put("GROUP_CD", "1");    pd41.put("FILTERED", "0");pd41.put("GROUP_NM", "放电(程序)");PageData pd42 = new PageData();pd42.put("AREA_ID", "6");pd42.put("GROUP_CD", "2");  pd42.put("FILTERED", "0");pd42.put("GROUP_NM", "编程");PageData pd43 = new PageData();pd43.put("AREA_ID", "6");pd43.put("GROUP_CD", "3"); pd43.put("FILTERED", "0");pd43.put("GROUP_NM", "CNC(程序)");PageData pd44 = new PageData();pd44.put("AREA_ID", "6");pd44.put("GROUP_CD", "4");  pd44.put("FILTERED", "0");pd44.put("GROUP_NM", "热处理");PageData pd45 = new PageData();pd45.put("AREA_ID", "6");pd45.put("GROUP_CD", "5");    pd45.put("FILTERED", "0");  pd45.put("GROUP_NM", "装配");PageData pd46 = new PageData();pd46.put("AREA_ID", "6");pd46.put("GROUP_CD", "6");   pd46.put("FILTERED", "0");pd46.put("GROUP_NM", "调试");PageData pd47 = new PageData();pd47.put("AREA_ID", "6");pd47.put("GROUP_CD", "7"); pd47.put("FILTERED", "0");  pd47.put("GROUP_NM", "线切割");PageData pd48 = new PageData();pd48.put("AREA_ID", "6");pd48.put("GROUP_CD", "8");  pd48.put("FILTERED", "0");pd48.put("GROUP_NM", "手动");PageData pd49 = new PageData();pd49.put("AREA_ID", "6");pd49.put("GROUP_CD", "9"); pd49.put("FILTERED", "0");pd49.put("GROUP_NM", "均分");PageData pd50 = new PageData();pd50.put("AREA_ID", "6");pd50.put("GROUP_CD", "10");    pd50.put("FILTERED", "0");pd50.put("GROUP_NM", "其他");PageData pd51 = new PageData();pd51.put("AREA_ID", "6");pd51.put("GROUP_CD", "11");    pd51.put("FILTERED", "0");pd51.put("GROUP_NM", "计划外");PageData pd52 = new PageData();pd52.put("AREA_ID", "6");pd52.put("GROUP_CD", "12");   pd52.put("FILTERED", "0");pd52.put("GROUP_NM", "限制");PageData pd53 = new PageData();pd53.put("AREA_ID", "6");pd53.put("GROUP_CD", "13");    pd53.put("FILTERED", "0");pd53.put("GROUP_NM", "项目工序");PageData pd54 = new PageData();pd54.put("AREA_ID", "6");pd54.put("GROUP_CD", "14");  pd54.put("FILTERED", "0");pd54.put("GROUP_NM", "断点工序");PageData pd55 = new PageData();pd55.put("AREA_ID", "7");pd55.put("GROUP_CD", "1");   pd55.put("FILTERED", "0");pd55.put("GROUP_NM", "销项分类");PageData pd56 = new PageData();pd56.put("AREA_ID", "7");pd56.put("GROUP_CD", "2");   pd56.put("FILTERED", "0");  pd56.put("GROUP_NM", "应收分类");PageData pd57 = new PageData();pd57.put("AREA_ID", "7");pd57.put("GROUP_CD", "3"); pd57.put("FILTERED", "0");  pd57.put("GROUP_NM", "应付分类");PageData pd58 = new PageData();pd58.put("AREA_ID", "7");pd58.put("GROUP_CD", "5"); pd58.put("FILTERED", "0");pd58.put("GROUP_NM", "成本分类");PageData pd59 = new PageData();pd59.put("AREA_ID", "8");pd59.put("GROUP_CD", "1");   pd59.put("FILTERED", "0");pd59.put("GROUP_NM", "产品");PageData pd60 = new PageData();pd60.put("AREA_ID", "8");pd60.put("GROUP_CD", "2"); pd60.put("FILTERED", "0");pd60.put("GROUP_NM", "服务");PageData pd61 = new PageData();pd61.put("AREA_ID", "8");pd61.put("GROUP_CD", "3"); pd61.put("FILTERED", "0");pd61.put("GROUP_NM", "其他");PageData pd62 = new PageData();pd62.put("AREA_ID", "9");pd62.put("GROUP_CD", "1"); pd62.put("FILTERED", "0");  pd62.put("GROUP_NM", "原材费");PageData pd63 = new PageData();pd63.put("AREA_ID", "9");pd63.put("GROUP_CD", "2");  pd63.put("FILTERED", "0");pd63.put("GROUP_NM", "采购费");PageData pd64 = new PageData();pd64.put("AREA_ID", "9");pd64.put("GROUP_CD", "3");    pd64.put("FILTERED", "0");pd64.put("GROUP_NM", "外包费");PageData pd65 = new PageData();pd65.put("AREA_ID", "9");pd65.put("GROUP_CD", "4");    pd65.put("FILTERED", "0");pd65.put("GROUP_NM", "制造费");PageData pd66 = new PageData();pd66.put("AREA_ID", "9");pd66.put("GROUP_CD", "5");    pd66.put("FILTERED", "0");pd66.put("GROUP_NM", "期间费");PageData pd67 = new PageData();pd67.put("AREA_ID", "10");pd67.put("GROUP_CD", "1");   pd67.put("FILTERED", "0");pd67.put("GROUP_NM", "预算收入");PageData pd68 = new PageData();pd68.put("AREA_ID", "10");pd68.put("GROUP_CD", "2");  pd68.put("FILTERED", "0");  pd68.put("GROUP_NM", "预算支出");PageData pd69 = new PageData();pd69.put("AREA_ID", "11");pd69.put("GROUP_CD", "1");    pd69.put("FILTERED", "0");pd69.put("GROUP_NM", "作业部署");PageData pd70 = new PageData();pd70.put("AREA_ID", "11");pd70.put("GROUP_CD", "2");  pd70.put("FILTERED", "0");  pd70.put("GROUP_NM", "员工设备");PageData pd71 = new PageData();pd71.put("AREA_ID", "11");pd71.put("GROUP_CD", "3");    pd71.put("FILTERED", "0");pd71.put("GROUP_NM", "运用工序");PageData pd72 = new PageData();pd72.put("AREA_ID", "12");pd72.put("GROUP_CD", "1");  pd72.put("FILTERED", "1");  pd72.put("GROUP_NM", "原材料");PageData pd73 = new PageData();pd73.put("AREA_ID", "12");pd73.put("GROUP_CD", "2"); pd73.put("FILTERED", "1");pd73.put("GROUP_NM", "购入品");PageData pd74 = new PageData();pd74.put("AREA_ID", "12");pd74.put("GROUP_CD", "3");   pd74.put("FILTERED", "1");pd74.put("GROUP_NM", "外包品");PageData pd75 = new PageData();pd75.put("AREA_ID", "12");pd75.put("GROUP_CD", "4");   pd75.put("FILTERED", "1");pd75.put("GROUP_NM", "消耗品");PageData pd76 = new PageData();pd76.put("AREA_ID", "12");pd76.put("GROUP_CD", "5");   pd76.put("FILTERED", "2");pd76.put("GROUP_NM", "费用类");PageData pd77 = new PageData();pd77.put("AREA_ID", "12");pd77.put("GROUP_CD", "6");   pd77.put("FILTERED", "3");  pd77.put("GROUP_NM", "半成品");PageData pd78 = new PageData();pd78.put("AREA_ID", "12");pd78.put("GROUP_CD", "7"); pd78.put("FILTERED", "3");pd78.put("GROUP_NM", "制成品");PageData pd79 = new PageData();pd79.put("AREA_ID", "13");pd79.put("GROUP_CD", "1");   pd79.put("FILTERED", "0");pd79.put("GROUP_NM", "按分类展开");PageData pd80 = new PageData();pd80.put("AREA_ID", "13");pd80.put("GROUP_CD", "2"); pd80.put("FILTERED", "0");pd80.put("GROUP_NM", "按分组展开");PageData pd81 = new PageData();pd81.put("AREA_ID", "13");pd81.put("GROUP_CD", "3"); pd81.put("FILTERED", "0");  pd81.put("GROUP_NM", "按费用展开");PageData pd82 = new PageData();pd82.put("AREA_ID", "14");pd82.put("GROUP_CD", "1");   pd82.put("FILTERED", "0");pd82.put("GROUP_NM", "客户");PageData pd83 = new PageData();pd83.put("AREA_ID", "14");pd83.put("GROUP_CD", "2");    pd83.put("FILTERED", "0");pd83.put("GROUP_NM", "厂商");PageData pd84 = new PageData();pd84.put("AREA_ID", "14");pd84.put("GROUP_CD", "3");    pd84.put("FILTERED", "0");pd84.put("GROUP_NM", "员工");PageData pd85 = new PageData();pd85.put("AREA_ID", "15");pd85.put("GROUP_CD", "1");    pd85.put("FILTERED", "0");  pd85.put("GROUP_NM", "在制品");PageData pd86 = new PageData();pd86.put("AREA_ID", "15");pd86.put("GROUP_CD", "2"); pd86.put("FILTERED", "1");  pd86.put("GROUP_NM", "标准品");PageData pd87 = new PageData();pd87.put("AREA_ID", "15");pd87.put("GROUP_CD", "3"); pd87.put("FILTERED", "2");  pd87.put("GROUP_NM", "完工品");PageData pd88 = new PageData();pd88.put("AREA_ID", "16");pd88.put("GROUP_CD", "1"); pd88.put("FILTERED", "0");  pd88.put("GROUP_NM", "全局参数");PageData pd89 = new PageData();pd89.put("AREA_ID", "16");pd89.put("GROUP_CD", "2");    pd89.put("FILTERED", "1");  pd89.put("GROUP_NM", "基础模块");PageData pd90 = new PageData();pd90.put("AREA_ID", "16");pd90.put("GROUP_CD", "3");    pd90.put("FILTERED", "2");  pd90.put("GROUP_NM", "销售模块");PageData pd91 = new PageData();pd91.put("AREA_ID", "17");pd91.put("GROUP_CD", "1");    pd91.put("FILTERED", "10"); pd91.put("GROUP_NM", "地区");PageData pd92 = new PageData();pd92.put("AREA_ID", "17");pd92.put("GROUP_CD", "2");  pd92.put("FILTERED", "10"); pd92.put("GROUP_NM", "行业");PageData pd93 = new PageData();pd93.put("AREA_ID", "17");pd93.put("GROUP_CD", "3");pd93.put("FILTERED", "10");   pd93.put("GROUP_NM", "职称");PageData pd94 = new PageData();pd94.put("AREA_ID", "17");pd94.put("GROUP_CD", "4");  pd94.put("FILTERED", "10"); pd94.put("GROUP_NM", "性别");PageData pd95 = new PageData();pd95.put("AREA_ID", "17");pd95.put("GROUP_CD", "201");    pd95.put("FILTERED", "10"); pd95.put("GROUP_NM", "付款方式");PageData pd96 = new PageData();pd96.put("AREA_ID", "17");pd96.put("GROUP_CD", "202");  pd96.put("FILTERED", "10"); pd96.put("GROUP_NM", "任务分类");PageData pd97 = new PageData();pd97.put("AREA_ID", "18");pd97.put("GROUP_CD", "1");    pd97.put("FILTERED", "20"); pd97.put("GROUP_NM", "合同单据状态");PageData pd98 = new PageData();pd98.put("AREA_ID", "18");pd98.put("GROUP_CD", "2");pd98.put("FILTERED", "20");   pd98.put("GROUP_NM", "制造编号单据状态");list.add(pd1);list.add(pd2);list.add(pd3);list.add(pd4);list.add(pd5);list.add(pd6);list.add(pd7);list.add(pd8);list.add(pd9);list.add(pd10);list.add(pd11);list.add(pd12);list.add(pd13);list.add(pd14);list.add(pd15);list.add(pd16);list.add(pd17);list.add(pd18);list.add(pd19);list.add(pd20);list.add(pd21);list.add(pd22);list.add(pd23);list.add(pd24);list.add(pd25);list.add(pd26);list.add(pd27);list.add(pd28);list.add(pd29);list.add(pd30);list.add(pd31);list.add(pd32);list.add(pd33);list.add(pd34);list.add(pd35);list.add(pd36);list.add(pd37);list.add(pd38);list.add(pd39);list.add(pd40);list.add(pd41);list.add(pd42);list.add(pd43);list.add(pd44);list.add(pd45);list.add(pd46);list.add(pd47);list.add(pd48);list.add(pd49);list.add(pd50);list.add(pd51);list.add(pd52);list.add(pd53);list.add(pd54);list.add(pd55);list.add(pd56);list.add(pd57);list.add(pd58);list.add(pd59);list.add(pd60);list.add(pd61);list.add(pd62);list.add(pd63);list.add(pd64);list.add(pd65);list.add(pd66);list.add(pd67);list.add(pd68);list.add(pd69);list.add(pd70);list.add(pd71);list.add(pd72);list.add(pd73);list.add(pd74);list.add(pd75);list.add(pd76);list.add(pd77);list.add(pd78);list.add(pd79);list.add(pd80);list.add(pd81);list.add(pd82);list.add(pd83);list.add(pd84);list.add(pd85);list.add(pd86);list.add(pd87);list.add(pd88);list.add(pd89);list.add(pd90);list.add(pd91);list.add(pd92);list.add(pd93);list.add(pd94);list.add(pd95);list.add(pd96);list.add(pd97);list.add(pd98);}return list;}/*** 根据分类导入应收应付科目分类* @param group_cd* @return*/public static List<PageData> exportValue(String group_cd){List<PageData> list = new ArrayList<>();if (group_cd.equals("1")) {PageData pd1 = new PageData();pd1.put("KIND", "0");pd1.put("CODE", "10");pd1.put("NAME", "期初单");pd1.put("DIRECT_ID", "0");PageData pd2 = new PageData();pd2.put("KIND", "1");pd2.put("CODE", "20");pd2.put("NAME", "应收单");pd2.put("DIRECT_ID", "1");PageData pd3 = new PageData();pd3.put("KIND", "2");pd3.put("CODE", "21");pd3.put("NAME", "折让单");pd3.put("DIRECT_ID", "1");PageData pd4 = new PageData();pd4.put("KIND", "3");pd4.put("CODE", "22");pd4.put("NAME", "坏账单");pd4.put("DIRECT_ID", "1");PageData pd5 = new PageData();pd5.put("KIND", "4");pd5.put("CODE", "40");pd5.put("NAME", "收款单A");pd5.put("DIRECT_ID", "2");PageData pd6 = new PageData();pd6.put("KIND", "4");pd6.put("CODE", "41");pd6.put("NAME", "收款单B");pd6.put("DIRECT_ID", "2");PageData pd7 = new PageData();pd7.put("KIND", "4");pd7.put("CODE", "42");pd7.put("NAME", "收款单C");pd7.put("DIRECT_ID", "2");PageData pd8 = new PageData();pd8.put("KIND", "4");pd8.put("CODE", "43");pd8.put("NAME", "收款单D");pd8.put("DIRECT_ID", "2");PageData pd9 = new PageData();pd9.put("KIND", "4");pd9.put("CODE", "44");pd9.put("NAME", "退款单");pd9.put("DIRECT_ID", "2");PageData pd10 = new PageData();pd10.put("KIND", "4");pd10.put("CODE", "45");pd10.put("NAME", "坏账收回");pd10.put("DIRECT_ID", "2");PageData pd11 = new PageData();pd11.put("KIND", "5");pd11.put("CODE", "50");pd11.put("NAME", "预收单");pd11.put("DIRECT_ID", "0");list.add(pd1);list.add(pd2);list.add(pd3);list.add(pd4);list.add(pd5);list.add(pd6);list.add(pd7);list.add(pd8);list.add(pd9);list.add(pd10);list.add(pd11);} else {PageData pd1 = new PageData();pd1.put("KIND", "0");pd1.put("CODE", "10");pd1.put("NAME", "期初单");pd1.put("DIRECT_ID", "0");PageData pd2 = new PageData();pd2.put("KIND", "1");pd2.put("CODE", "20");pd2.put("NAME", "应付单");pd2.put("DIRECT_ID", "1");PageData pd3 = new PageData();pd3.put("KIND", "2");pd3.put("CODE", "21");pd3.put("NAME", "折让单");pd3.put("DIRECT_ID", "1");PageData pd4 = new PageData();pd4.put("KIND", "3");pd4.put("CODE", "22");pd4.put("NAME", "坏账单");pd4.put("DIRECT_ID", "1");PageData pd5 = new PageData();pd5.put("KIND", "4");pd5.put("CODE", "40");pd5.put("NAME", "支付单A");pd5.put("DIRECT_ID", "2");PageData pd6 = new PageData();pd6.put("KIND", "4");pd6.put("CODE", "41");pd6.put("NAME", "支付单B");pd6.put("DIRECT_ID", "2");PageData pd7 = new PageData();pd7.put("KIND", "4");pd7.put("CODE", "42");pd7.put("NAME", "支付单C");pd7.put("DIRECT_ID", "2");PageData pd8 = new PageData();pd8.put("KIND", "4");pd8.put("CODE", "43");pd8.put("NAME", "支付单D");pd8.put("DIRECT_ID", "2");PageData pd9 = new PageData();pd9.put("KIND", "4");pd9.put("CODE", "44");pd9.put("NAME", "退款单");pd9.put("DIRECT_ID", "2");PageData pd10 = new PageData();pd10.put("KIND", "4");pd10.put("CODE", "45");pd10.put("NAME", "坏账收回");pd10.put("DIRECT_ID", "2");PageData pd11 = new PageData();pd11.put("KIND", "5");pd11.put("CODE", "50");pd11.put("NAME", "预付单");pd11.put("DIRECT_ID", "0");list.add(pd1);list.add(pd2);list.add(pd3);list.add(pd4);list.add(pd5);list.add(pd6);list.add(pd7);list.add(pd8);list.add(pd9);list.add(pd10);list.add(pd11);}return list;}public static void main(String[] args) {System.out.println(getDays());System.out.println(getAfterDayWeek("3"));System.out.println(getCurrentMonthDay());System.out.println(getDaysByYearMonth(2018,10));}}
  • 工具类FileUtil的使用
package cn.liuyk.web.util;import java.io.BufferedInputStream;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.RandomAccessFile;
import java.nio.ByteBuffer;
import java.nio.MappedByteBuffer;
import java.nio.channels.FileChannel;
import java.nio.channels.FileChannel.MapMode;/**    文件处理
*  * 创建时间:2014年12月23日*/
public class FileUtil {/**获取文件大小 返回 KB 保留3位小数  没有文件时返回0* @param filepath 文件完整路径,包括文件名* @return*/public static Double getFilesize(String filepath){File backupath = new File(filepath);return Double.valueOf(backupath.length())/1000.000;}/*** 创建目录* @param destDirName目标目录名* @return */public static Boolean createDir(String destDirName) {File dir = new File(destDirName);if(!dir.getParentFile().exists()){             //判断有没有父路径,就是判断文件整个路径是否存在return dir.getParentFile().mkdirs();        //不存在就全部创建}return false;}/*** 删除文件* @param filePathAndName*            String 文件路径及名称 如c:/fqf.txt* @param fileContent*            String* @return boolean*/public static void delFile(String filePathAndName) {try {String filePath = filePathAndName;filePath = filePath.toString();java.io.File myDelFile = new java.io.File(filePath);myDelFile.delete();} catch (Exception e) {System.out.println("删除文件操作出错");e.printStackTrace();}}/*** 读取到字节数组0* @param filePath //路径* @throws IOException*/public static byte[] getContent(String filePath) throws IOException {File file = new File(filePath);long fileSize = file.length();if (fileSize > Integer.MAX_VALUE) {System.out.println("file too big...");return null;}FileInputStream fi = new FileInputStream(file);byte[] buffer = new byte[(int) fileSize];int offset = 0;int numRead = 0;while (offset < buffer.length&& (numRead = fi.read(buffer, offset, buffer.length - offset)) >= 0) {offset += numRead;}// 确保所有数据均被读取if (offset != buffer.length) {throw new IOException("Could not completely read file " + file.getName());}fi.close();return buffer;}/*** 读取到字节数组1* * @param filePath* @return* @throws IOException*/public static byte[] toByteArray(String filePath) throws IOException {File f = new File(filePath);if (!f.exists()) {throw new FileNotFoundException(filePath);}ByteArrayOutputStream bos = new ByteArrayOutputStream((int) f.length());BufferedInputStream in = null;try {in = new BufferedInputStream(new FileInputStream(f));int buf_size = 1024;byte[] buffer = new byte[buf_size];int len = 0;while (-1 != (len = in.read(buffer, 0, buf_size))) {bos.write(buffer, 0, len);}return bos.toByteArray();} catch (IOException e) {e.printStackTrace();throw e;} finally {try {in.close();} catch (IOException e) {e.printStackTrace();}bos.close();}}/*** 读取到字节数组2* * @param filePath* @return* @throws IOException*/public static byte[] toByteArray2(String filePath) throws IOException {File f = new File(filePath);if (!f.exists()) {throw new FileNotFoundException(filePath);}FileChannel channel = null;FileInputStream fs = null;try {fs = new FileInputStream(f);channel = fs.getChannel();ByteBuffer byteBuffer = ByteBuffer.allocate((int) channel.size());while ((channel.read(byteBuffer)) > 0) {// do nothing// System.out.println("reading");}return byteBuffer.array();} catch (IOException e) {e.printStackTrace();throw e;} finally {try {channel.close();} catch (IOException e) {e.printStackTrace();}try {fs.close();} catch (IOException e) {e.printStackTrace();}}}/*** Mapped File way MappedByteBuffer 可以在处理大文件时,提升性能* * @param filename* @return* @throws IOException*/public static byte[] toByteArray3(String filePath) throws IOException {FileChannel fc = null;RandomAccessFile rf = null;try {rf = new RandomAccessFile(filePath, "r");fc = rf.getChannel();MappedByteBuffer byteBuffer = fc.map(MapMode.READ_ONLY, 0,fc.size()).load();//System.out.println(byteBuffer.isLoaded());byte[] result = new byte[(int) fc.size()];if (byteBuffer.remaining() > 0) {// System.out.println("remain");byteBuffer.get(result, 0, byteBuffer.remaining());}return result;} catch (IOException e) {e.printStackTrace();throw e;} finally {try {rf.close();fc.close();} catch (IOException e) {e.printStackTrace();}}}}
  • 工具类JsonUtil的使用
package cn.liuyk.web.util;import java.util.ArrayList;import org.springframework.stereotype.Service;import com.google.gson.Gson;
import com.google.gson.JsonElement;
@Service("jsonUtil")
public final class JsonUtil {private static final Gson singleton = new Gson();private JsonUtil() {}public static Gson getInstance() {return singleton;}public String toJson(Object obj) {Tools.setRespJsonIntoRequest(obj);return singleton.toJson(obj);}public String toJsonTree(Object obj) {JsonElement je = singleton.toJsonTree(obj);Tools.setRespJsonIntoRequest(obj);return singleton.toJson(je);}public String toJsonWithEmptyArray() {return singleton.toJson(new ArrayList());}
}
  • 工具类Logger的使用
package cn.liuyk.web.util;/** * 说明:日志处理* * 修改时间:2014年9月20日* @version*/
public class Logger {private org.apache.log4j.Logger logger;/*** 构造方法,初始化Log4j的日志对象*/private Logger(org.apache.log4j.Logger log4jLogger) {logger = log4jLogger;}/*** 获取构造器,根据类初始化Logger对象* * @param Class*            Class对象* @return Logger对象*/public static Logger getLogger(Class classObject) {return new Logger(org.apache.log4j.Logger.getLogger(classObject));}/*** 获取构造器,根据类名初始化Logger对象* * @param String*            类名字符串* @return Logger对象*/public static Logger getLogger(String loggerName) {return new Logger(org.apache.log4j.Logger.getLogger(loggerName));}public void debug(Object object) {logger.debug(object);}public void debug(Object object, Throwable e) {logger.debug(object, e);}public void info(Object object) {logger.info(object);}public void info(Object object, Throwable e) {logger.info(object, e);}public void warn(Object object) {logger.warn(object);}public void warn(Object object, Throwable e) {logger.warn(object, e);}public void error(Object object) {logger.error(object);}public void error(Object object, Throwable e) {logger.error(object, e);}public void fatal(Object object) {logger.fatal(object);}public String getName() {return logger.getName();}public org.apache.log4j.Logger getLog4jLogger() {return logger;}public boolean equals(Logger newLogger) {return logger.equals(newLogger.getLog4jLogger());}
}
  • 工具类MapDistance的使用
package cn.liuyk.web.util;import java.util.HashMap;
import java.util.Map;/** * 说明:经纬度处理* * 修改时间:2014年9月20日* @version*/
public class MapDistance {  private static double EARTH_RADIUS = 6378.137;  private static double rad(double d) {  return d * Math.PI / 180.0;  }/*** 根据两个位置的经纬度,来计算两地的距离(单位为KM)* 参数为String类型* @param lat1 用户经度* @param lng1 用户纬度* @param lat2 商家经度* @param lng2 商家纬度* @return*/public static String getDistance(String lat1Str, String lng1Str, String lat2Str, String lng2Str) {Double lat1 = Double.parseDouble(lat1Str);Double lng1 = Double.parseDouble(lng1Str);Double lat2 = Double.parseDouble(lat2Str);Double lng2 = Double.parseDouble(lng2Str);double patm = 2;double radLat1 = rad(lat1);double radLat2 = rad(lat2);double difference = radLat1 - radLat2;double mdifference = rad(lng1) - rad(lng2);double distance = patm * Math.asin(Math.sqrt(Math.pow(Math.sin(difference / patm), patm)+ Math.cos(radLat1) * Math.cos(radLat2)* Math.pow(Math.sin(mdifference / patm), patm)));distance = distance * EARTH_RADIUS;String distanceStr = String.valueOf(distance);return distanceStr;}/*** 获取当前用户一定距离以内的经纬度值* 单位米 return minLat * 最小经度 minLng * 最小纬度 maxLat * 最大经度 maxLng * 最大纬度 minLat*/public static Map getAround(String latStr, String lngStr, String raidus) {Map map = new HashMap();Double latitude = Double.parseDouble(latStr);// 传值给经度Double longitude = Double.parseDouble(lngStr);// 传值给纬度Double degree = (24901 * 1609) / 360.0; // 获取每度double raidusMile = Double.parseDouble(raidus);Double mpdLng = Double.parseDouble((degree * Math.cos(latitude * (Math.PI / 180))+"").replace("-", ""));Double dpmLng = 1 / mpdLng;Double radiusLng = dpmLng * raidusMile;//获取最小经度Double minLat = longitude - radiusLng;// 获取最大经度Double maxLat = longitude + radiusLng;Double dpmLat = 1 / degree;Double radiusLat = dpmLat * raidusMile;// 获取最小纬度Double minLng = latitude - radiusLat;// 获取最大纬度Double maxLng = latitude + radiusLat;map.put("minLat", minLat+"");map.put("maxLat", maxLat+"");map.put("minLng", minLng+"");map.put("maxLng", maxLng+"");return map;}public static void main(String[] args) {//济南国际会展中心经纬度:117.11811  36.68484//趵突泉:117.00999000000002  36.66123System.out.println(getDistance("116.97265","36.694514","116.597805","36.738024"));System.out.println(getAround("117.11811", "36.68484", "13000"));//117.01028712333508(Double), 117.22593287666493(Double), //36.44829619896034(Double), 36.92138380103966(Double)}}
  • 工具类MD5的使用
package cn.liuyk.web.util;import java.io.File;
import java.security.MessageDigest;/** * 说明:MD5处理* * 修改时间:2014年9月20日* @version*/
public class MD5 {public static String md5(String str) {try {MessageDigest md = MessageDigest.getInstance("MD5");md.update(str.getBytes());byte b[] = md.digest();int i;StringBuffer buf = new StringBuffer("");for (int offset = 0; offset < b.length; offset++) {i = b[offset];if (i < 0)i += 256;if (i < 16)buf.append("0");buf.append(Integer.toHexString(i));}str = buf.toString();} catch (Exception e) {e.printStackTrace();}return str;}public static void main(String[] args) {/*System.out.println(md5("31119@qq.com"+"123456"));System.out.println(md5("mj1"));System.out.println(md5("1"));System.out.println(md5("qiu1234"));String filePath = FileUpload.getFile();System.out.println(filePath);System.out.println(Tools.convertBase64ToStr("5LiJ5qyh"));System.out.println(Tools.convertStrToBase64("三次"));System.out.println(Tools.convertStrToBase64("1"));String dsd = "11-10-2016-05-01";String d = dsd.replace("-", ",");String[] ds = d.split(",");System.out.println(ds[0]);System.out.println(ds[1]);*/}
}
  • 工具类PageData的使用
package cn.liuyk.web.util;import java.math.BigDecimal;
import java.util.Collection;
import java.util.Date;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;import javax.servlet.http.HttpServletRequest;
/** * 说明:参数封装Map* * 修改时间:2014年9月20日* @version*/
public class PageData extends HashMap implements Map{private static final long serialVersionUID = 1L;Map map = null;HttpServletRequest request;public PageData(HttpServletRequest request){this.request = request;Map properties = request.getParameterMap();Map returnMap = new HashMap(); Iterator entries = properties.entrySet().iterator(); Map.Entry entry; String name = "";  String value = "";  while (entries.hasNext()) {entry = (Map.Entry) entries.next(); name = (String) entry.getKey(); Object valueObj = entry.getValue(); if(null == valueObj){ value = ""; }else if(valueObj instanceof String[]){ String[] values = (String[])valueObj;for(int i=0;i<values.length;i++){ value = values[i] + ",";}value = value.substring(0, value.length()-1); }else{value = valueObj.toString(); }returnMap.put(name, value); }map = returnMap;}public PageData() {map = new HashMap();}@Overridepublic Object get(Object key) {Object obj = null;if(map.get(key) instanceof Object[]) {Object[] arr = (Object[])map.get(key);obj = request == null ? arr:(request.getParameter((String)key) == null ? arr:arr[0]);} else {obj = map.get(key);}return obj;}public String getString(Object key) {return (String)get(key);}public Date getDate(Object key) {return (Date)get(key);}public Integer getInteger(Object key) {return (Integer)get(key);}public Double getDouble(Object key) {return (Double)get(key);}public Float getFloat(Object key) {return (Float)get(key);}public Short getShort(Object key) {return (Short)get(key);}public BigDecimal getBigDecimal(Object key) {return (BigDecimal)get(key);}@Overridepublic Object put(Object key, Object value) {return map.put(key, value);}@Overridepublic Object remove(Object key) {return map.remove(key);}public void clear() {map.clear();}public boolean containsKey(Object key) {// TODO Auto-generated method stubreturn map.containsKey(key);}public boolean containsValue(Object value) {// TODO Auto-generated method stubreturn map.containsValue(value);}public Set entrySet() {// TODO Auto-generated method stubreturn map.entrySet();}public boolean isEmpty() {// TODO Auto-generated method stubreturn map.isEmpty();}public Set keySet() {// TODO Auto-generated method stubreturn map.keySet();}@SuppressWarnings("unchecked")public void putAll(Map t) {// TODO Auto-generated method stubmap.putAll(t);}public int size() {// TODO Auto-generated method stubreturn map.size();}public Collection values() {// TODO Auto-generated method stubreturn map.values();}}
  • 工具类Tools的使用
package cn.liuyk.web.util;import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileFilter;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.security.MessageDigest;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
import java.util.Random;
import java.util.ResourceBundle;
import java.util.regex.Matcher;
import java.util.regex.Pattern;import javax.servlet.http.HttpServletRequest;import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;/** * 说明:常用工具* * 修改时间:2015年11月24日* @version*/
public class Tools {/*** 随机生成六位数验证码 * @return*/public static int getRandomNum(){Random r = new Random();return r.nextInt(900000)+100000;//(Math.random()*(999999-100000)+100000)}/*** 检测字符串是否不为空(null,"","null")* @param s* @return 不为空则返回true,否则返回false*/public static boolean notEmpty(String s){return s!=null && !"".equals(s) && !"null".equals(s);}/*** 检测字符串是否为空(null,"","null")* @param s* @return 为空则返回true,不否则返回false*/public static boolean isEmpty(String s){return s==null || "".equals(s) || "null".equals(s);}/*** 字符串转换为字符串数组* @param str 字符串* @param splitRegex 分隔符* @return*/public static String[] str2StrArray(String str,String splitRegex){if(isEmpty(str)){return null;}return str.split(splitRegex);}/*** 用默认的分隔符(,)将字符串转换为字符串数组* @param str  字符串* @return*/public static String[] str2StrArray(String str){return str2StrArray(str,",\\s*");}/*** 按照yyyy-MM-dd HH:mm:ss的格式,日期转字符串* @param date* @return yyyy-MM-dd HH:mm:ss*/public static String date2Str(Date date){return date2Str(date,"yyyy-MM-dd HH:mm:ss");}/*** 按照yyyy-MM-dd HH:mm:ss的格式,字符串转日期* @param date* @return*/public static Date str2Date(String date){if(notEmpty(date)){SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");try {return sdf.parse(date);} catch (ParseException e) {e.printStackTrace();}return new Date();}else{return null;}}/*** 按照参数format的格式,日期转字符串* @param date* @param format* @return*/public static String date2Str(Date date,String format){if(date!=null){SimpleDateFormat sdf = new SimpleDateFormat(format);return sdf.format(date);}else{return "";}}/*** 把时间根据时、分、秒转换为时间段* @param StrDate*/public static String getTimes(String StrDate){String resultTimes = "";SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");java.util.Date now;try {now = new Date();java.util.Date date=df.parse(StrDate);long times = now.getTime()-date.getTime();long day  =  times/(24*60*60*1000);long hour = (times/(60*60*1000)-day*24);long min  = ((times/(60*1000))-day*24*60-hour*60);long sec  = (times/1000-day*24*60*60-hour*60*60-min*60);StringBuffer sb = new StringBuffer();//sb.append("发表于:");if(hour>0 ){sb.append(hour+"小时前");} else if(min>0){sb.append(min+"分钟前");} else{sb.append(sec+"秒前");}resultTimes = sb.toString();} catch (ParseException e) {e.printStackTrace();}return resultTimes;}/*** 写本地txt里的单行内容* @param filePath  文件路径* @param content  写入的内容*/public static void writeFile(String fileP,String content){String filePath = String.valueOf(Thread.currentThread().getContextClassLoader().getResource(""))+"../../";  //项目路径filePath = (filePath.trim() + fileP.trim()).substring(6).trim();if(filePath.indexOf(":") != 1){filePath = File.separator + filePath;}try {OutputStreamWriter write = new OutputStreamWriter(new FileOutputStream(filePath),"utf-8");      BufferedWriter writer=new BufferedWriter(write);          writer.write(content);      writer.close(); } catch (IOException e) {e.printStackTrace();}}/*** 验证邮箱* @param email* @return*/public static boolean checkEmail(String email){boolean flag = false;try{String check = "^([a-z0-9A-Z]+[-|_|\\.]?)+[a-z0-9A-Z]@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?\\.)+[a-zA-Z]{2,}$";Pattern regex = Pattern.compile(check);Matcher matcher = regex.matcher(email);flag = matcher.matches();}catch(Exception e){flag = false;}return flag;}/*** 验证手机号码* @param mobiles* @return*/public static boolean checkMobileNumber(String mobileNumber){boolean flag = false;try{Pattern regex = Pattern.compile("^(((13[0-9])|(15([0-3]|[5-9]))|(18[0,5-9]))\\d{8})|(0\\d{2}-\\d{8})|(0\\d{3}-\\d{7})$");Matcher matcher = regex.matcher(mobileNumber);flag = matcher.matches();}catch(Exception e){flag = false;}return flag;}/*** 检测KEY是否正确* @param paraname  传入参数* @param FKEY       接收的 KEY* @return 为空则返回true,不否则返回false*/public static boolean checkKey(String paraname, String FKEY){paraname = (null == paraname)? "":paraname;return MD5.md5(paraname+DateUtil.getDays()+",fh,").equals(FKEY);}/*** 读取本地txt里的单行内容* @param filePath  文件路径*/public static String readTxtFile(String fileP) {try {String filePath = String.valueOf(Thread.currentThread().getContextClassLoader().getResource(""))+"../../";   //项目路径filePath = filePath.replaceAll("file:/", "");filePath = filePath.replaceAll("%20", " ");filePath = filePath.trim() + fileP.trim();if(filePath.indexOf(":") != 1){filePath = File.separator + filePath;}String encoding = "utf-8";File file = new File(filePath);if (file.isFile() && file.exists()) {         // 判断文件是否存在InputStreamReader read = new InputStreamReader(new FileInputStream(file), encoding); // 考虑到编码格式BufferedReader bufferedReader = new BufferedReader(read);String lineTxt = null;while ((lineTxt = bufferedReader.readLine()) != null) {return lineTxt;}read.close();}else{System.out.println("找不到指定的文件,查看此路径是否正确:"+filePath);}} catch (Exception e) {System.out.println("读取文件内容出错");}return "";}public static void setRespJsonIntoRequest(Object obj) {getCurrentRequest().setAttribute("responseJson", obj);}public static HttpServletRequest getCurrentRequest() {return ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();}//身份证public static boolean isIdCard(String idCardString){String idCardPattern = "^(^[1-9]\\d{7}((0\\d)|(1[0-2]))(([0|1|2]\\d)|3[0-1])\\d{3}$)|(^[1-9]\\d{5}[1-9]\\d{3}((0\\d)|(1[0-2]))(([0|1|2]\\d)|3[0-1])((\\d{4})|\\d{3}[Xx])$)$";return Pattern.matches(idCardPattern, idCardString);}//手机public static boolean isMobile(String mobileString){String mobilePattern = "^(13[0-9]|15[012356789]|17[678]|18[0-9]|14[57])[0-9]{8}$";return Pattern.matches(mobilePattern, mobileString);}//遍历指定路径下的各个txt文本public static List<String> getFileList(File file) {  List<String> result = new ArrayList<String>();  if (!file.isDirectory()) {  System.out.println(file.getAbsolutePath());  result.add(file.getAbsolutePath());  } else {  File[] directoryList = file.listFiles(new FileFilter() {  public boolean accept(File file) {  if (file.isFile() && file.getName().indexOf("txt") > -1) {  return true;  } else {  return false;  }  }  });  for (int i = 0; i < directoryList.length; i++) {  result.add(directoryList[i].getPath());  }  }  return result;  }//读取mai_config一个参数值public static String getStringFromEnvconfig(String name) {ResourceBundle resourceBundle = ResourceBundle.getBundle("mail_config");return resourceBundle.getString(name);}public static String getCnASCII(String cnStr) {StringBuffer strBuf = new StringBuffer();byte[] bGBK = cnStr.getBytes();for (int i = 0; i < bGBK.length; i++) {strBuf.append(Integer.toHexString(bGBK[i] & 0xff) + " ");}return strBuf.toString();}//随机产生6位数字public static String getRandomSixNum() {String strs = "";for (int i = 0; i < 6; i++) {Random random = new Random();String str = String.valueOf(random.nextInt(10));strs += str;}return strs;}//加密处理public static String string2MD5(String inStr) {MessageDigest md5 = null;try {md5 = MessageDigest.getInstance("MD5");} catch (Exception e) {System.out.println(e.toString());e.printStackTrace();return "";}char[] charArray = inStr.toCharArray();byte[] byteArray = new byte[charArray.length];for (int i = 0; i < charArray.length; i++)byteArray[i] = (byte) charArray[i];byte[] md5Bytes = md5.digest(byteArray);StringBuffer hexValue = new StringBuffer();for (int i = 0; i < md5Bytes.length; i++) {int val = ((int) md5Bytes[i]) & 0xff;if (val < 16)hexValue.append("0");hexValue.append(Integer.toHexString(val));}return hexValue.toString();}public static String formatDate(Date date){return formatDate(date,"yyyy-MM-dd HH:mm:ss");}public static String formatDate(Date date, String pattern){SimpleDateFormat dateFormat=new SimpleDateFormat(pattern);return dateFormat.format(date);}public static Date parseDate(String dateString) throws ParseException{return parseDate(dateString,"yyyy-MM-dd HH:mm:ss");}public static Date parseDate(String dateString, String pattern) throws ParseException{SimpleDateFormat dateFormat=new SimpleDateFormat(pattern);return dateFormat.parse(dateString);}public static String convertCountry(String countryId){return countryId==Const.COUNTRY_CHINA?"中国":"其他";}public static String convertBloodType(String bloodType){if(bloodType.equals("A")){return Const.BLOOD_TYPE_A;}else if(bloodType.equals("B")){return Const.BLOOD_TYPE_B;}else if(bloodType.equals("C")){return Const.BLOOD_TYPE_AB;}else {return Const.BLOOD_TYPE_O;}}//文件后缀名public static String getFileSuffix(String fullName) {return fullName.substring(fullName.lastIndexOf("."));}//判断图片的格式public static boolean isPic(File file) {String suffix=Tools.getFileSuffix(file.getName());if (suffix.equalsIgnoreCase(".png")) {return true;} else {return false;}}//当前日期减1public static String beforeDate(){Date now = new Date();Calendar calendar = Calendar.getInstance();calendar.setTime(now);int year = calendar.get(Calendar.YEAR);int month = calendar.get(Calendar.MONTH)+1;int day = calendar.get(Calendar.DAY_OF_MONTH);String date = "";int dayval = 0;if (day!=1) {dayval = day+(-1);String monthval = "";if (month<10) {monthval = "0"+String.valueOf(month);}else{monthval = String.valueOf(month);}String dayvalue = "";if (dayval<10) {dayvalue = "0"+String.valueOf(dayval);}else{dayvalue = String.valueOf(dayval);}date = String.valueOf(year)+"-"+monthval+"-"+dayvalue;}else{month = month + (-1);dayval = getMaxDays(year,month);String monthval = "";if (month<10) {monthval = "0"+String.valueOf(month);}else{monthval = String.valueOf(month);}String dayvalue = "";if (dayval<10) {dayvalue = "0"+String.valueOf(dayval);}else{dayvalue = String.valueOf(dayval);}date = String.valueOf(year)+"-"+monthval+"-"+dayvalue;}return date;}//设置月份的天数public static int getMaxDays(int year,int month){int days = -1;switch (month) {case 4:case 6:case 9:case 11:days = 30;break;case 1:case 3:case 5:case 7:case 8:case 10:case 12:days = 31;break;case 2://判断该年是否闰年  if(isLeapYear(year)){//是闰年days = 29;}else{days = 28;}break;default:System.out.println("对不起,您的输入不合法!");break;}return days;}/*** 判断某年是否为闰年*/public static boolean isLeapYear(int year){//内置的判断闰年的方法if((year%4==0 && year%100!=0)||year%400==0){return true;}return false;}/*** 获取指定年份2010到至今*/public static List<Integer> getStartYearAndCurrentYear(){List<Integer> list = new ArrayList<>();int year = Integer.valueOf(DateUtil.getYear());for (int i = 2010; i <= year; i++) {list.add(i);}return list;}//测试public static void main(String[] args) throws IOException {System.out.println(getRandomNum());System.out.println("**********************");//读取指定文件下各个txt文本里的内容/*String encoding="GBK";String dfs = FileUpload.getTXTFile();File filesd = new File(dfs);List<String> result = new ArrayList<String>();result = getFileList(filesd);//File[] files=filesd.listFiles();for (String string : result) {InputStreamReader read = new InputStreamReader(new FileInputStream(string),encoding);//考虑到编码格式BufferedReader br = new BufferedReader(read);//String filename = string.getName();String line=null;while((line = br.readLine())!=null){line = line.replaceAll(" +", ",");if (line.equals(",")) {break;}else{String[] arr = line.split(",");//System.out.println("这是第"+filename.substring(0, 1)+"号机床的电流检测");System.out.println("电流检测时间:"+"20"+arr[0].replace("/", "-")+" "+arr[1]);System.out.println("a电流的值:"+arr[2]);System.out.println("b电流的值:"+arr[3]);System.out.println("c电流的值:"+arr[4]);System.out.println("三相电流的最大电流的值:"+arr[5]);System.out.println("机床的状态:"+arr[6]);System.out.println("机床状态的名称:"+arr[7]);System.out.println("停机时间:"+arr[8]);System.out.println("待机时间:"+arr[9]);System.out.println("加工时间:"+arr[10]);System.out.println("*****#####********");}  }}*/System.out.println(getCnASCII("你好"));System.out.println(getRandomSixNum());System.out.println(string2MD5("1"));String date = beforeDate();System.out.println(date);}
}
  • 工具类UuidUtil的使用
package cn.liuyk.web.util;import java.util.UUID;public class UuidUtil {public static String get32UUID() {String uuid = UUID.randomUUID().toString().trim().replaceAll("-", "");return uuid;}public static void main(String[] args) {System.out.println(get32UUID());}
}
  • 控制层继承类BaseController/cn.liuykxl.web.base
package cn.liuykxl.web.base;import java.io.UnsupportedEncodingException;
import java.util.Locale;import javax.servlet.http.HttpServletRequest;import org.springframework.context.MessageSource;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import org.springframework.web.servlet.ModelAndView;import cn.liuyk.web.util.JsonUtil;
import cn.liuyk.web.util.Logger;
import cn.liuyk.web.util.PageData;
import cn.liuyk.web.util.UuidUtil;
import cn.liuykxl.web.entity.Json;
import cn.liuykxl.web.entity.Page;/*** 修改时间:2015、12、11*/
public class BaseController {protected Logger logger = Logger.getLogger(this.getClass());private static final long serialVersionUID = 6357869213649815390L;private MessageSource bundle;private JsonUtil jsonUtil;/** new PageData对象* @return*/public PageData getPageData(){return new PageData(this.getRequest());}/**得到ModelAndView* @return*/public ModelAndView getModelAndView(){return new ModelAndView();}/**得到request对象* @return*/public HttpServletRequest getRequest() {HttpServletRequest request = ((ServletRequestAttributes)RequestContextHolder.getRequestAttributes()).getRequest();return request;}/**得到32位的uuid* @return*/public String get32UUID(){return UuidUtil.get32UUID();}/**得到分页列表的信息* @return*/public Page getPage(){return new Page();}public static void logBefore(Logger logger, String interfaceName){logger.info("");logger.info("start");logger.info(interfaceName);}public static void logAfter(Logger logger){logger.info("end");logger.info("");}public String toFile(String fileName){String newFileName = null;try {newFileName = new String(fileName.getBytes(), "ISO8859-1");} catch (UnsupportedEncodingException e) {// TODO Auto-generated catch blocke.printStackTrace();}return newFileName;}protected String getMessage(String code, Object... args) {return bundle.getMessage(code, args, Locale.getDefault());}protected String getMessage(String code) {return bundle.getMessage(code, new Object[] {}, Locale.getDefault());}protected String responseSuccessJson() {Json json = new Json();json.setSuccess(true);json.setMsg(getMessage("console.operation.success"));return jsonUtil.toJson(json);}protected String responseSysFailJson() {Json json = new Json();json.setMsg(getMessage("console.sys.error"));return jsonUtil.toJson(json);}protected String responseFailJson(String code, Object data) {Json json = new Json();json.setMsg(getMessage(code));json.setObj(data);return jsonUtil.toJson(json);}}
  • 实体类工具类Json/cn.liuykxl.web.entity
package cn.liuykxl.web.entity;/*** JSON模型*/public class Json implements java.io.Serializable {private boolean success = false;// 是否成功private String msg = "";// 提示信息private Object obj = null;// 其他信息public String getMsg() {return msg;}public void setMsg(String msg) {this.msg = msg;}public Object getObj() {return obj;}public void setObj(Object obj) {this.obj = obj;}public boolean isSuccess() {return success;}public void setSuccess(boolean success) {this.success = success;}}
  • 实体类工具类Page/cn.liuykxl.web.entity
package cn.liuykxl.web.entity;import java.util.ArrayList;
import java.util.List;import cn.liuyk.web.util.Const;
import cn.liuyk.web.util.PageData;
import cn.liuyk.web.util.Tools;/*** 分页类* 创建时间:2014年6月28日*/
public class Page {private int showCount; //每页显示记录数private int totalPage;       //总页数private int totalResult;   //总记录数private int currentPage;  //当前页private int currentResult; //当前记录起始索引private boolean entityOrField;    //true:需要分页的地方,传入的参数就是Page实体;false:需要分页的地方,传入的参数所代表的实体拥有Page属性private String pageStr;      //最终页面显示的底部翻页导航,详细见:getPageStr();private PageData pd = new PageData();public Page(){try {this.showCount = Integer.parseInt(Tools.readTxtFile(Const.PAGE));} catch (Exception e) {this.showCount = 15;}}public int getTotalPage() {if(totalResult%showCount==0)totalPage = totalResult/showCount;elsetotalPage = totalResult/showCount+1;return totalPage;}public void setTotalPage(int totalPage) {this.totalPage = totalPage;}public int getTotalResult() {return totalResult;}public void setTotalResult(int totalResult) {this.totalResult = totalResult;}public int getCurrentPage() {if(currentPage<=0)currentPage = 1;if(currentPage>getTotalPage())currentPage = getTotalPage();return currentPage;}public void setCurrentPage(int currentPage) {this.currentPage = currentPage;}//拼接分页 页面及JS函数public String getPageStr() {StringBuffer sb = new StringBuffer();if(totalResult>0){sb.append(" <ul class=\"pagination pull-right no-margin\">\n");if(currentPage==1){sb.append(" <li><a>共<font color=red>"+totalResult+"</font>条</a></li>\n");sb.append("    <li><input type=\"number\" value=\"\" id=\"toGoPage\" style=\"width:50px;text-align:center;float:left\" placeholder=\"页码\"/></li>\n");sb.append(" <li style=\"cursor:pointer;\"><a onclick=\"toTZ();\"  class=\"btn btn-mini btn-success\">跳转</a></li>\n");sb.append("    <li><a>首页</a></li>\n");sb.append("  <li><a>上页</a></li>\n");}else{sb.append("    <li><a>共<font color=red>"+totalResult+"</font>条</a></li>\n");sb.append("    <li><input type=\"number\" value=\"\" id=\"toGoPage\" style=\"width:50px;text-align:center;float:left\" placeholder=\"页码\"/></li>\n");sb.append(" <li style=\"cursor:pointer;\"><a onclick=\"toTZ();\"  class=\"btn btn-mini btn-success\">跳转</a></li>\n");sb.append("    <li style=\"cursor:pointer;\"><a onclick=\"nextPage(1)\">首页</a></li>\n");sb.append("    <li style=\"cursor:pointer;\"><a onclick=\"nextPage("+(currentPage-1)+")\">上页</a></li>\n");}int showTag = 5;//分页标签显示数量int startTag = 1;if(currentPage>showTag){startTag = currentPage-1;}int endTag = startTag+showTag-1;for(int i=startTag; i<=totalPage && i<=endTag; i++){if(currentPage==i)sb.append("<li class=\"active\"><a><font color='white'>"+i+"</font></a></li>\n");elsesb.append("    <li style=\"cursor:pointer;\"><a onclick=\"nextPage("+i+")\">"+i+"</a></li>\n");}if(currentPage==totalPage){sb.append(" <li><a>下页</a></li>\n");sb.append("  <li><a>尾页</a></li>\n");}else{sb.append("    <li style=\"cursor:pointer;\"><a onclick=\"nextPage("+(currentPage+1)+")\">下页</a></li>\n");sb.append("  <li style=\"cursor:pointer;\"><a onclick=\"nextPage("+totalPage+")\">尾页</a></li>\n");}sb.append("   <li><a>共"+totalPage+"页</a></li>\n");sb.append(" <li><select title='显示条数' style=\"width:55px;float:left;margin-top:1px;\" onchange=\"changeCount(this.value)\">\n");sb.append("  <option value='"+showCount+"'>"+showCount+"</option>\n");sb.append("    <option value='10'>10</option>\n");sb.append("  <option value='20'>20</option>\n");sb.append("  <option value='30'>30</option>\n");sb.append("  <option value='40'>40</option>\n");sb.append("  <option value='50'>50</option>\n");sb.append("  <option value='60'>60</option>\n");sb.append("  <option value='70'>70</option>\n");sb.append("  <option value='80'>80</option>\n");sb.append("  <option value='90'>90</option>\n");sb.append("  <option value='99'>99</option>\n");sb.append("  </select>\n");sb.append(" </li>\n");sb.append("</ul>\n");sb.append("<script type=\"text/javascript\">\n");//换页函数sb.append("function nextPage(page){");sb.append(" top.jzts();");sb.append(" if(true && document.forms[0]){\n");sb.append("      var url = document.forms[0].getAttribute(\"action\");\n");sb.append("       if(url.indexOf('?')>-1){url += \"&"+(entityOrField?"currentPage":"page.currentPage")+"=\";}\n");sb.append("      else{url += \"?"+(entityOrField?"currentPage":"page.currentPage")+"=\";}\n");sb.append("        url = url + page + \"&" +(entityOrField?"showCount":"page.showCount")+"="+showCount+"\";\n");sb.append("        document.forms[0].action = url;\n");sb.append("     document.forms[0].submit();\n");sb.append(" }else{\n");sb.append("      var url = document.location+'';\n");sb.append("     if(url.indexOf('?')>-1){\n");sb.append("         if(url.indexOf('currentPage')>-1){\n");sb.append("               var reg = /currentPage=\\d*/g;\n");sb.append("              url = url.replace(reg,'currentPage=');\n");sb.append("          }else{\n");sb.append("              url += \"&"+(entityOrField?"currentPage":"page.currentPage")+"=\";\n");sb.append("          }\n");sb.append("       }else{url += \"?"+(entityOrField?"currentPage":"page.currentPage")+"=\";}\n");sb.append("       url = url + page + \"&" +(entityOrField?"showCount":"page.showCount")+"="+showCount+"\";\n");sb.append("        document.location = url;\n");sb.append("    }\n");sb.append("}\n");//调整每页显示条数sb.append("function changeCount(value){");sb.append(" top.jzts();");sb.append("    if(true && document.forms[0]){\n");sb.append("      var url = document.forms[0].getAttribute(\"action\");\n");sb.append("       if(url.indexOf('?')>-1){url += \"&"+(entityOrField?"currentPage":"page.currentPage")+"=\";}\n");sb.append("      else{url += \"?"+(entityOrField?"currentPage":"page.currentPage")+"=\";}\n");sb.append("        url = url + \"1&" +(entityOrField?"showCount":"page.showCount")+"=\"+value;\n");sb.append("     document.forms[0].action = url;\n");sb.append("     document.forms[0].submit();\n");sb.append(" }else{\n");sb.append("      var url = document.location+'';\n");sb.append("     if(url.indexOf('?')>-1){\n");sb.append("         if(url.indexOf('currentPage')>-1){\n");sb.append("               var reg = /currentPage=\\d*/g;\n");sb.append("              url = url.replace(reg,'currentPage=');\n");sb.append("          }else{\n");sb.append("              url += \"1&"+(entityOrField?"currentPage":"page.currentPage")+"=\";\n");sb.append("         }\n");sb.append("       }else{url += \"?"+(entityOrField?"currentPage":"page.currentPage")+"=\";}\n");sb.append("       url = url + \"&" +(entityOrField?"showCount":"page.showCount")+"=\"+value;\n");sb.append("      document.location = url;\n");sb.append("    }\n");sb.append("}\n");//跳转函数 sb.append("function toTZ(){");sb.append("var toPaggeVlue = document.getElementById(\"toGoPage\").value;");sb.append("if(toPaggeVlue == ''){document.getElementById(\"toGoPage\").value=1;return;}");sb.append("if(isNaN(Number(toPaggeVlue))){document.getElementById(\"toGoPage\").value=1;return;}");sb.append("nextPage(toPaggeVlue);");sb.append("}\n");sb.append("</script>\n");}pageStr = sb.toString();return pageStr;}public void setPageStr(String pageStr) {this.pageStr = pageStr;}public int getShowCount() {return showCount;}public void setShowCount(int showCount) {this.showCount = showCount;}public int getCurrentResult() {currentResult = (getCurrentPage()-1)*getShowCount();if(currentResult<0)currentResult = 0;return currentResult;}public void setCurrentResult(int currentResult) {this.currentResult = currentResult;}public boolean isEntityOrField() {return entityOrField;}public void setEntityOrField(boolean entityOrField) {this.entityOrField = entityOrField;}public PageData getPd() {return pd;}public void setPd(PageData pd) {this.pd = pd;}}
  • 特此记录。

Springboot+Ajax工具类的使用相关推荐

  1. springboot在工具类中添加service的方法,显示为空的解决方案

    springboot在工具类中添加service的方法,显示为空的解决方案 参考文章: (1)springboot在工具类中添加service的方法,显示为空的解决方案 (2)https://www. ...

  2. 基于Redis GEO(地理位置) 实现附近的人,商家等相关功能实现 使用SpringBoot Redis工具类

    Redis GEO 1.基本介绍 1.Redis GEO 2.基础语法 GEOADD GEOPOS GEODIST GEORADIUS GEOHASH 2.可用于实现的功能 3.SpringBoot实 ...

  3. SpringBoot Redis工具类封装

    SpringBoot整合Redis的博客很多,但是很多都不是我想要的结果.因为我只需要整合完成后,可以操作Redis就可以了,并不需要配合缓存相关的注解使用(如@Cacheable).看了很多博客后, ...

  4. springboot自定义工具类构建打包踩坑经历

    前言 1.如何打包一个工具类? 2.如何在工具类中引入第三方jar包? 3.如何在调用工具类时能够正确识别工具类中的静态资源? 4.如何在静态方法中注入变量? 如果你有以上问题,请看下去,相信对你有帮 ...

  5. SpringBoot+Hutool工具类Excel工具-ExcelUtil实现excel文件的导入导出

    Hutool会用的话极大了简化了操作Excel的过程,提高开发效率,废话少说上代码. excel文件导出: public void downLoadFile(UserDto dto,HttpServl ...

  6. SpringBoot JWT工具类完整代码

  7. java 导出加密压缩包 设置 压缩包加密密码 并下载 (springboot+文件工具类)

    我们现在要下载一个压缩包文件 并设置密码,密码统一固定 后台部分: @Value("${drap_platform.export_password}")private String ...

  8. SpringBoot 那些天生自带 Buff 的工具类,你用过几个?

    欢迎关注方志朋的博客,回复"666"获面试宝典 断言 断言是一个逻辑判断,用于检查不应该发生的情况 Assert 关键字在 JDK1.4 中引入,可通过 JVM 参数-enable ...

  9. 这些SpringBoot天生自带Buff工具类你都用过哪些?

    欢迎关注方志朋的博客,回复"666"获面试宝典 来源:https://juejin.cn/post/7043403364020781064 断言 断言是一个逻辑判断,用于检查不应该 ...

最新文章

  1. php解释命令行的参数
  2. 1、django安装,问题,创建项目,编写第一个demo
  3. linux服务器磁盘扩容的方法
  4. 烧脑又过瘾!关于c²= b² + a²,你不知道的N个事实
  5. python线程安全的单例_详解python实现线程安全的单例模式
  6. 动态分配IP之dhcp服务
  7. NP-Hard问题浅谈
  8. 祝贺中国推送联盟初测成功
  9. linux系统安装五笔输入法,Linux下安装五笔输入法
  10. 将子节点中含子节点的json数据转换成ztree适合的json数据格式
  11. 小米选择了总是打开方式_小米更改默认程序 小米修改默认程序的打开方式
  12. 计算机图像处理入门基础知识——色域,色度图,色彩空间和色彩管理
  13. java导出excel水印_java解决poi导出excel文字水印,导出excel不可操作问题
  14. 迅捷路由器造成计算机无法上网,迅捷(fast)路由器连不上网怎么办?
  15. 【STM32技巧】使用STM32 HAL库的硬件I2C驱动RX8025T实时时钟芯片
  16. 傅里叶分析 [作 者:韩 昊]
  17. 局域网下两台电脑ping不通的问题总结
  18. 区块链中的epoch
  19. 计算机与交换机基础配置入门,新手入门篇:交换机配置窍门深入学习 -电脑资料...
  20. 【无标题】2023速卖通开店教程,入驻图文讲解!

热门文章

  1. 台式计算机用什么网卡,台式机怎样安装网卡驱动,教您电脑安装网卡驱动
  2. 燃动金秋,Stibo Systems(思迪博) 软件受邀参加2021中国服贸会
  3. 联想yoga14s和小新pro14哪个好
  4. GLP-1类药物研发进展-销售数据-上市药品前景分析
  5. linux系统下如何挂载NTFS移动硬盘
  6. 腾讯开放世界游戏《王者荣耀·世界》获登记批准,对标《原神》
  7. Win10 自带【屏幕录制】功能(win + G)----(附带:录屏时没有声音,声音不清楚 问题解决;---提取视频中的音频)
  8. vs2010下载地址和正版CDKEY
  9. live555峰哥的私房菜(二)-----计划任务(TaskScheduler)探讨
  10. 【统一身份认证】——概念扫盲