/**
  * @return ModelAndView
  **/
 public function postHandleRequest(ModelAndView $mav, HttpRequest $request)
 {
     $form = $this->getForm();
     if ($mav->getView() == self::COMMAND_SUCCEEDED) {
         $mav->setView(new RedirectToView(get_class($this)));
         $mav->getModel()->drop('id');
     } else {
         $mav->setView(get_class($this));
         if ($command = $form->getValue('action')) {
             $mav->getModel()->set('action', $command);
         } else {
             $form->dropAllErrors();
         }
         $mav->getModel()->set('form', $form);
     }
     return $mav;
 }
 protected function handleMav(ModelAndView $mav)
 {
     $view = $mav->getView() ?: self::DEFAULT_TEMPLATE;
     $model = $mav->getModel();
     if (!$view instanceof RedirectView) {
         $model->set('area', $this->controllerName);
     }
     if (is_string($view)) {
         if ($view == $this->controllerName) {
             $view = self::DEFAULT_TEMPLATE;
         }
         $viewResolver = $this->getViewResolver();
         foreach ($this->getTemplatePathList() as $templatePath) {
             $viewResolver->addPrefix($templatePath);
         }
         $view = $viewResolver->resolveViewName($view);
     }
     $view->render($model);
 }