@RequestMapping(value = "create.htm", method = RequestMethod.POST)
  public ModelAndView createHoliday(
      HttpServletRequest httpRequest,
      @ModelAttribute HolidayCriteria holidayCriteria,
      BindingResult result) {
    if (logger.isInfoEnabled()) {
      logger.info(this.getClass().toString() + "-- create --");
    }
    ModelAndView mav = new ModelAndView();
    try {
      //			new HolidayValidator().validate(holiday, result);
      if (result.hasErrors()) {
        mav.setViewName("holidayCreate");
      } else {
        BuckWaRequest request = new BuckWaRequest();
        request.put("holidayCriteria", holidayCriteria);

        BuckWaResponse response = yearService.getAll();
        List<Year> years = null;

        years = (List) response.getResObj("yearList");
        mav.addObject("holidayCriteria", holidayCriteria);
        if (years != null) {
          Calendar calendar = Calendar.getInstance();
          for (Year year : years) {
            calendar.set(Calendar.YEAR, Integer.parseInt(year.getName()));
            year.setName(
                BuckWaDateUtils.getCustomFormat_thai_from_date(calendar.getTime(), "yyyy"));
          }
          mav.addObject("yearList", years);
        }

        response = holidayService.create(request);
        if (response.getStatus() == BuckWaConstants.SUCCESS) {
          logger.info("  Success");
          mav.addObject("holidayCriteria", new HolidayCriteria());
          mav.addObject("successCode", response.getSuccessCode());
          gotoList(mav);
        } else {
          mav.addObject("errorCode", response.getErrorCode());
          mav.setViewName("holidayCreate");
        }
      }

    } catch (Exception ex) {
      ex.printStackTrace();
      mav.addObject("errorCode", "E001");
    }
    return mav;
  }