Spring web MVC - 控制器的动态视图?

时间:2010-09-11 15:17:53

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

Spring2中是否有办法构建Controller可以重定向到的动态视图?

我有一个带有隐藏字段的表单。 如果表单被提交或发生其他异常,我想重定向回到表单(我已经设置了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>

长话短说我希望能够重定向到以下网址:index.htm?id = 3

1 个答案:

答案 0 :(得分:0)

是的。以下是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();
        }
    }
}