天天看點

Request 擷取前端傳遞參數,為空設定預設值

第一個參數 = value

第二個參數 = 沒有傳遞時設定的預設值

@Autowired
    protected HttpServletRequest request;

  // TODO 預設值
    public static Integer castToInt(Object value, Integer defaults) {
        if (value == null) {
            return defaults;
        } else {
            return Integer.parseInt(value.toString());
        }
    }

    // TODO 擷取頁面字元串
    public String getString(String name, String defalut) {
        String str = request.getParameter(name);
        if (str == null) {
            return defalut;
        } else {
            return str;
        }
    }

    // TODO 擷取整數Integer對象
    public Integer getInt(String name, Integer defalut) {
        String str = request.getParameter(name);
        if (str == null) {
            return defalut;
        } else {
            try {
                return Integer.valueOf(str);
            } catch (NumberFormatException e) {
                return defalut;
            }
        }
    }

    // TODO  擷取整數Long對象
    public Long getLong(String name, Long defalut) {
        String str = request.getParameter(name);
        if (str == null) {
            return defalut;
        } else {
            try {
                return Long.valueOf(str);
            } catch (NumberFormatException e) {
                return defalut;
            }
        }
    }

    // TODO  擷取擷取duoble對象
    public Double getDoule(String name, Double defalut) {
        String str = request.getParameter(name);
        if (str == null) {
            return defalut;
        } else {
            try {
                return Double.valueOf(str);
            } catch (NumberFormatException e) {
                return defalut;
            }
        }
    }

    // TODO  擷取時間對象
    public Date getDate(String name, Date defalut, String format) {
        String str = request.getParameter(name);
        if (str == null) {
            return defalut;
        } else {
            try {
                SimpleDateFormat sdf = new SimpleDateFormat(format);
                return sdf.parse(str);
            } catch (ParseException e) {
                e.printStackTrace();
                return defalut;
            }
        }
    }


    // TODO  擷取boolean對象
    public boolean getBoolean(String name, boolean defalut) {
        String str = request.getParameter(name);
        if (str == null) {
            return defalut;
        } else {
            try {
                return Boolean.valueOf(str);
            } catch (NumberFormatException e) {
                return defalut;
            }
        }
    }
    
    // TODO 擷取項目跟目錄/ 擷取項目部署後的classpath 目錄
    public String getPath() {
        // 擷取項目跟目錄
        String path = "";
        try {
            path = ResourceUtils.getURL("classpath:").getPath();
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }
        return path;
    }