2011-09-24 95 views
0
http://localhost:8080/LACASServer/message.jsp?forgotUser=Mail+has+been+sent+to+your+mail+address 

這裏forgotUser是地圖的關鍵,我在一個控制器的方法,它重定向到message.jsp設置,現在,我怎麼使用這個地圖信息.jap顯示該地圖的值。我使用JSTL庫如何重定向形成控制器和JSP獲得價值

CONTROLER方法爲:

@RequestMapping(value = "/forgotPWD",params="username", method = RequestMethod.POST) 
      public String forgotPassword(@RequestParam(value = "username", required = false) String username,Map<String, Object> map) { 
       System.out.println("forgotPasswordUser"+username); 
       ResetPasswordLog resetPasswordLog; 
       User forgotPasswordUser = usersService.findUser(username); 
       map.put("forgotUser","Mail has been sent to your mail address"); 
       if(forgotPasswordUser==null){ 
        return "redirect:/login.jsp?login_error=1"; 
       } 
       else 
       { 



        Integer uid=forgotPasswordUser.getId(); 
        resetPasswordLog= usersService.setTempHash(uid); 
        String TEMPHASH= resetPasswordLog.getTempHash(); 
        String url=Utility.serverURL+"forgot/index?uid="+uid+"&token="+TEMPHASH; 
        System.out.println(url); 
        System.out.println(Utility.mailResetSubject); 
        mailSender.sendMail(Utility.mailFrom,"[email protected]",Utility.mailResetSubject, url); 
        return "redirect:/message.jsp"; 


       } 

      } 

回答

0

你需要你的控制器的方法(如上所示)來指定「視圖」本身(而不是使用重定向,因爲它目前如此) 。所以返回值應該是一個字符串,對應於message.jsp的視圖名稱。然後,您可以將該地圖添加到模型中,並且它將在JSP中可用。例如。

@RequestMapping(value = "/forgotPWD",params="username", method = RequestMethod.POST) 
public String forgotPassword(@RequestParam(value = "username", required = false) String username, 
     Map<String, Object> map, Model model) { 
    [snip] 
    map.put("forgotUser","Mail has been sent to your mail address"); 
    model.addAttribute("userMap", map); 
    [snip] 
    return "message.jsp"; // or just "message" depending on Spring settings 
} 

然後在你的JSP訪問通過JSTL地圖:$ {} userMap.forgotUser

+0

感謝nickdos:U R右,但我只redirct使用。但我得到的解決方案爲:在控制器中我使用返回「重定向:/message.jsp?消息= 1」;和在JSP作爲 \t

  • \t \t \t \t
  • Click here to login
  • \t \t – Romi

    +0

    即實際上是我的第一個建議,但後來我注意到你問:「我怎麼能在message.jap中使用它的地圖」...所以我試圖專門回答這個問題 - $ {param.message}只是一個字符串值不是一個地圖! – nickdos