0

我有一堂课,它发送一封带有激活链接的电子邮件,消息是这样的:

String message =  "<html> <body><a href=\"http://localhost:8080/token?foo=abc\" >ACTIVE MY ACCOUNT</a> </body></html>";

另一方面,我有一个控制器

@Controller
@RequestMapping(value="/token",method = RequestMethod.GET)
public class RegisterController {
    public String active(@RequestParam("foo") String foo) {
       return foo;
   }
}

我希望 foo 具有 abc 值,但是现在当我单击激活链接时,我得到了

访问 /token 时出现问题。

原因:未找到

我该如何修改?

4

3 回答 3

1

我以这种方式解决了这个问题

@Controller
@RequestMapping("/register")
public class RegisterController {

@RequestMapping(value="/token", method= RequestMethod.GET)
public String active(
    @RequestParam("token") String token) {
    return token;

 }

}

String url =  "<html> <body><a href=\"http://localhost:8080/register/token?token=abc\" >ACTIVE MY ACCOUNT</a> </body></html>";
于 2013-09-13T08:01:04.173 回答
1

另一种选择:

您使用 url 访问资源(您的变量在 uri 中)

@Controller
@RequestMapping(value="/token")
public class RegisterController {

    @RequestMapping(value = "/{foo}", method = RequestMethod.GET)
    public String active(@PathVariable String foo) {
       return foo;
   }
}

String message =  "<html> <body><a href=\"http://blockedcontent:8080/token/abc\" >ACTIVE MY ACCOUNT</a> </body></html>";
于 2013-09-13T08:14:27.493 回答
0

您在 href 链接中缺少 WebContentPath,如果您没有更改它,它就是项目名称。所以href应该是http://localhost:8080/ProjectName/token?foo=abc

顺便说一句,href 不应该是硬编码的。

于 2013-09-13T01:42:48.023 回答