【问题标题】:Spring2 web MVC - dynamic views for controller?Spring web MVC - 控制器的动态视图?
【发布时间】:2010-09-11 15:17:53
【问题描述】:

在 Spring2 中有没有办法构建控制器可以重定向到的动态视图?

我有一个带有 ID 隐藏字段的表单。 如果提交表单或发生其他异常,我想重定向回表单(我已设置 formView)。它重定向正常,但是当它重定向回表单时,它会丢失 ID 参数。有什么办法可以放回去吗?

我知道在 Struts2 中你可以通过这样的操作结果来做到这一点:

<result name="success" type="redirect" >
              <param name="location">index</param>
              <param name="category">${category}</param>
              <param name="pageNumber">${pageNumber}</param>
              <param name="parse">true</param>
              <param name="encode">true</param>
</result>

长话短说,我希望能够重定向到如下 URL:index.htm?id=3

【问题讨论】:

    标签: model-view-controller spring spring-mvc


    【解决方案1】:

    是的。以下是 PetClinic 的示例:

    @Controller
    @RequestMapping("/editPet.do")
    @SessionAttributes("pet")
    public class EditPetForm {
    
        // ...
    
        @ModelAttribute("types")
        public Collection<PetType> populatePetTypes() {
            return this.clinic.getPetTypes();
        }
    
        @RequestMapping(method = RequestMethod.POST)
        public String processSubmit(
                @ModelAttribute("pet") Pet pet, BindingResult result, SessionStatus status) {
    
            new PetValidator().validate(pet, result);
            if (result.hasErrors()) {
                return "petForm";
            }
            else {
                this.clinic.storePet(pet);
                status.setComplete();
                return "redirect:owner.do?ownerId=" + pet.getOwner().getId();
            }
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2019-06-27
      • 2023-03-29
      • 1970-01-01
      • 1970-01-01
      • 2010-12-11
      • 1970-01-01
      • 2021-11-21
      • 1970-01-01
      • 2012-11-28
      相关资源
      最近更新 更多