1、用jsp脚本编写,或者service逻辑层编写,用ajax访问
try{
String date = "";
String cloneType = "";
String strTemp="";
strTemp = request.getParameter("cloneType");
if(strTemp!=null&&strTemp.trim().length()>0)
{
cloneType = strTemp.trim();
}
strTemp = request.getParameter("date");
if(strTemp!=null&&strTemp.trim().length()>0)
{
date = strTemp;
}
ApplyBiz biz= new ApplyBiz();
if("1".equals(cloneType)){ //判单节假日
List holidayList = new ArrayList();
String year=String.valueOf(Calendar.getInstance() .get(Calendar.YEAR));
long lReturn=-1;
//添加节假日
holidayList.add(biz.doAddHolidayList(year+"-12-30"));//元旦
holidayList.add(biz.doAddHolidayList(year+"-12-31"));//元旦
holidayList.add(biz.doAddHolidayList(year+"-07-20"));//测试日期
//返回判断的值
lReturn = biz.dateJudgment(date,holidayList);
out.println("{\"lReturn\":"+lReturn+"}");
}
}catch(Exception e){
e.printStackTrace();
}
2、编写js的ajax代码 url是访问逻辑层的地址,返回值判断是否是假期
//判断是否是周六日
function dateJudgment(date){
var lReturn=-1;
var lReturnDate=date;
$.ajax({
type: 'POST',
url:'<%=strContext%>/apply/control/c001_ajax.jsp',
data:{
cloneType:"1",
date:lReturnDate
},
dataType:"json",
async:false,
success:function(data){
lReturn=data.lReturn;
}
});
return lReturnDate;
}
3、java中ApplyBiz的代码,逻辑层调用的方法dateJudgment(String ,List ) ,和doAddHolidayList(String)方法
/**
*
* 方法名称:dateJudgment
* 方法描述:(根据输入的的日期判断是否为周六日)
*/
public long dateJudgment(String date,List holidayList)
throws ParseException
{
long lReturnId=-1;
DateFormat format1 = new SimpleDateFormat("yyyy-MM-dd");
Date bdate = format1.parse(date);
Calendar cal =Calendar.getInstance();
cal.setTime(bdate);
if(cal.get(Calendar.DAY_OF_WEEK) == Calendar.SATURDAY || cal.get(Calendar.DAY_OF_WEEK) == Calendar.SUNDAY){
lReturnId = 1;
} else{
for(int i=0;i<holidayList.size();i++){
Calendar holiday=(Calendar)holidayList.get(i);
if(holiday.get(Calendar.MONTH) == cal.get(Calendar.MONTH) &&
holiday.get(Calendar.DAY_OF_MONTH) == cal.get(Calendar.DAY_OF_MONTH)&&
holiday.get(Calendar.YEAR) == cal.get(Calendar.YEAR))
{
lReturnId = 1;
}
}
}
return lReturnId;
}
/**
*
* 方法名称:doAddHolidayList
* 方法描述:(将日期设置成Calendar返回ajax,用户维护节假日)
*/
public Calendar doAddHolidayList(String date){
String [] da = date.split("-");
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.YEAR, Integer.valueOf(da[0]));
calendar.set(Calendar.MONTH, Integer.valueOf(da[1])-1);//月份比正常小1,0代表一月
calendar.set(Calendar.DAY_OF_MONTH, Integer.valueOf(da[2]));
return calendar;
}