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 メソッドに返す必要があります。

そのために、ポスト メソッド シグネチャにもう 1 つのパラメータRedirectAttributes redirectAttributes. 次に、return ステートメントの直前に以下の行を挿入します。

redirectAttributes.addFlashAttribute("newUserName", returnText);

その後、EL を使用して JSP の値にアクセスできます${newUserName}

これがお役に立てば幸いです。

于 2013-01-08T05:56:27.933 に答える