Spring MVC PRG,将值传递给其他操作

时间:2013-08-04 01:56:48

标签: spring spring-mvc

我想将值传递给重定向的操作。即在我的下面的代码中我想将userResult值传递给方法welcome,我该如何传递它?

        String userResult = getUserDetails(url);
        System.out.println("Result-->"+userResult);
        if(userResult.contains("<user>")){
            return "redirect:welcome";
        }

重定向代码:

@RequestMapping(value = "/welcome")
    public String welcome(Model model){
        Element element = getOutputDetails(userResult);// get userResult values  here

1 个答案:

答案 0 :(得分:1)

如果您使用的是春季3.1或更高版本,请查看Spring MVC Flash Attribute

该功能用于在重定向情况下在处理程序方法之间传递值。

import org.springframework.web.servlet.mvc.support.RedirectAttributes;

// ...

@RequestMapping...
public String login(@ModelAttribute....,
        final RedirectAttributes redirectAttributes) {
    String userResult = getUserDetails(url);
    System.out.println("Result-->"+userResult);
    if(userResult.contains("<user>")){
        redirectAttributes.addFlashAttribute("userResult", userResult);
        return "redirect:welcome";
    }
    ......
}

@RequestMapping(value = "/welcome")
public String welcome((@ModelAttribute("userResult") String  userResult){
    ......
}