【问题标题】:pass the post variable to another method将 post 变量传递给另一个方法
【发布时间】:2012-12-21 22:20:36
【问题描述】:

我有这样的代码。

@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 值的任何其他方式。

谢谢...

【问题讨论】:

    标签: spring variables post get


    【解决方案1】:

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

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

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

    redirectAttributes.addFlashAttribute("newUserName", returnText);
    

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

    希望对你有帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-04-12
      • 1970-01-01
      • 1970-01-01
      • 2015-05-22
      • 2014-04-02
      • 2017-07-29
      • 2013-11-10
      相关资源
      最近更新 更多