如何重定向形成控制器和JSP获得价值

问题描述:

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"; 


       } 

      } 

你需要你的控制器的方法(如上所示)来指定“视图”本身(而不是使用重定向,因为它目前如此) 。所以返回值应该是一个字符串,对应于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