Springboot+Ajax工具类的使用

  • 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";			//短信账户配置路径1
	public static final String SMS2 = "admin/config/SMS2.txt";			//短信账户配置路径2
	public 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.66123
    	System.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("[email protected]"+"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();
	}
	
	@Override
	public 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);
	}
	
	@Override
	public Object put(Object key, Object value) {
		return map.put(key, value);
	}
	
	@Override
	public Object remove(Object key) {
		return map.remove(key);
	}

	public void clear() {
		map.clear();
	}

	public boolean containsKey(Object key) {
		// TODO Auto-generated method stub
		return map.containsKey(key);
	}

	public boolean containsValue(Object value) {
		// TODO Auto-generated method stub
		return map.containsValue(value);
	}

	public Set entrySet() {
		// TODO Auto-generated method stub
		return map.entrySet();
	}

	public boolean isEmpty() {
		// TODO Auto-generated method stub
		return map.isEmpty();
	}

	public Set keySet() {
		// TODO Auto-generated method stub
		return map.keySet();
	}

	@SuppressWarnings("unchecked")
	public void putAll(Map t) {
		// TODO Auto-generated method stub
		map.putAll(t);
	}

	public int size() {
		// TODO Auto-generated method stub
		return map.size();
	}

	public Collection values() {
		// TODO Auto-generated method stub
		return 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;
		}
	}
    
    //当前日期减1
    public 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 block
			e.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;
		else
			totalPage = 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");
				else
					sb.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;
	}
	
}

  • 特此记录。
发布了22 篇原创文章 · 获赞 27 · 访问量 5646

猜你喜欢

转载自blog.csdn.net/k_love1219/article/details/95069964