在開發過程中有一個小需求,設置一個值的時間如果爲空值時需要默認爲當前日期的第二天,因爲接口返回的json串我們是通過freemarker模板的形式來做的,所以想找下freemarker裏面有沒有現成的函數來實現這個小功能,網上看了下,可以有.now之類的,但是也只能設置當前時間,不能設置爲當前時間的第二天,發現在freemarker裏面沒有特別合適的功能來實現這個小功能,所以還是得通過java來實現,之後再把值傳給freemarker的模板中,
java實現方式:
//設置默認時間
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date date = new Date();//當前時間
Date tom = new Date();
Calendar cd = Calendar.getInstance();//得到日曆
cd.setTime(date);//把當前時間賦給日曆
cd.add(cd.DAY_OF_MONTH, +1);
tom = cd.getTime();
String defaultTime= sdf.format(tom);
getBaoJia.setDefaultTime(defaultTime);
把默認時間加入到數據對象中;
修改freemarker模板的樣式:
"start_date": "${data.syxstart!"${data.defaultTime}"}",
這裏的意思是如果data.syxstart爲空,就賦值爲data.defaultTime,修改完之後我們把接口拿到postman中調用一下看下結果: