2

我有这样的代码。

@RequestMapping(value="/persons",method=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 帖子值;在get方法中传递jsp页面。

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

谢谢...

4

1 回答 1

0

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

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

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

redirectAttributes.addFlashAttribute("newUserName", returnText);

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

我希望这能帮到您。

于 2013-01-08T05:56:27.933 回答