将post变量传递给另一个方法

时间:2013-01-08 05:18:44

标签: spring variables post get

我有这样的代码。

@RequestMapping(值=" /人",方法= RequestMethod.POST)  public @ResponseBody String addUser(@RequestParam String name){

returnText=name;
 //List<Person> personList = personService.getAllzonedetails(returnText);
System.out.println(returnText);
 //model.addAttribute("personsajax", personList);
 return **returnText**;

}

@RequestMapping(value = "/persons", method = RequestMethod.GET)
public String getPersons(Model model) {

    newvariable = returnText;
    System.out.println(newvariable); 
 logger.debug("Received request to show all persons");
 // Retrieve all persons by delegating the call to PersonService
 List<Person> persons = personService.getAll();
 List<Person> persons1 = personService.getAllzonedetails(newvariable);
     // Attach persons to the Model
 model.addAttribute("persons", persons);
 model.addAttribute("personsajax", persons1);
 // This will resolve to /WEB-INF/jsp/personspage.jsp
 return "personspage";
}

我想在System.out.println(newvariable)中获取returnText post值;在get方法中传递jsp页面。

在jsp中传递post值的任何其他方式。

...谢谢

1 个答案:

答案 0 :(得分:0)

我认为你要做的是当在post方法中添加用户然后你想要重定向到GET方法时,你想要在人员列表页面上显示新添加的用户名。

你在这里尝试的不合适。首先,您需要从POST方法更改 @ResponseBody 注释,并简单地从该函数返回“redirect:/ persons”字符串。这将重定向到您的GET方法。现在要在GET方法中使用新添加的用户名,您需要使用 RedirectAttributes 将名称返回给GET方法。

为此,在您的帖子方法签名中添加一个参数RedirectAttributes redirectAttributes。然后在返回语句之前插入下面的行。

redirectAttributes.addFlashAttribute("newUserName", returnText);

然后,您可以使用EL ${newUserName}访问JSP中的值。

我希望这会对你有所帮助。