public ModelAndView browseProject(HttpServletRequest request, HttpServletResponse response)
      throws Exception {
    if (logger.isDebugEnabled()) {
      logger.debug("browseProject(HttpServletRequest, HttpServletResponse) - start");
    }

    modelAndView = new ModelAndView("volunteer/viewProjectList"); // jsp page
    List<ProjectVo> projectList = projectManagementService.getProjectList();
    List<CodeLookupVo> projectCodeList =
        CodeLookupUtil.getCodeListByCategory(VMSConstants.PROJECT_STATUS);
    logger.debug("The project size is" + projectList.size());
    modelAndView.addObject("projectList", projectList);
    modelAndView.addObject("command", new ProjectVo());
    modelAndView.addObject("projectCodeList", projectCodeList);

    PagedListHolder projectPagedListHolder = new PagedListHolder(projectList);
    if (!projectList.isEmpty()) {
      int page = ServletRequestUtils.getIntParameter(request, "p", 0);
      projectPagedListHolder.setPage(page);
      projectPagedListHolder.setPageSize(VMSConstants.MAX_PAGE_SIZE);
    }
    modelAndView.addObject("pagedListHolder", projectPagedListHolder);

    if (logger.isDebugEnabled()) {
      logger.debug("browseProject(HttpServletRequest, HttpServletResponse) - end");
    }
    return modelAndView;
  }