2

我正在使用弹簧 MVC。用户注册后,将向用户帐户发送一封电子邮件。

那工作正常..而且我还将加密的用户 ID 发送到用户电子邮件,为此我写了一个模板..

<bean id="activateAccountTemplate" class="org.springframework.mail.SimpleMailMessage">
    <property name="subject" value="Account activation" />
    <property name="text">
        <value>
        <![CDATA[
            <html><body><p>Dear %s</p><p>Click <a href="http://localhost:8080/EClass/home?a=%s">here</a> to activate your account.</p></body></html>
        ]]>
        </value>
    </property>
</bean>

当用户收到电子邮件并单击以激活时... URL 像这样出现..

http://localhost:8080/EClass/home?a=tdpTA3Dz8DYSI+9F/DpMxmxGD/a1Kl+3oYqXc1NNH0U=

我想得到这个加密的用户 ID,为此我正在编写方法..

    @Controller
public class HomeController {

    @RequestMapping(value="home", method=RequestMethod.GET)
    public String home(Model model) throws Exception {
        model.addAttribute(FormType.LOGIN.name(), FormType.LOGIN.getNewInstance());
        model.addAttribute(FormType.SIGNUP.name(), FormType.SIGNUP.getNewInstance());
        return "home";
    }

    @RequestMapping(value="active", method=RequestMethod.GET)
    public String active(@RequestParam("a") String activeCode) throws Exception {

        String userid = CryptUtil.decrypt(activeCode);
        System.out.println("User id Displayed ===="+userid);
        return "home";
    }   
}

但是服务器控制台上什么也没发生...基本上我想获取用户ID并使用用户ID更新用户列Activate=Yes..

请建议我..

4

3 回答 3

1

您需要将 RequestMapping 映射到“家”:

@RequestMapping(value="/home", method=RequestMethod.GET)
于 2013-03-22T08:01:53.733 回答
1

http://localhost:8080/EClass/home基本上会以 a 作为参数调用您的控制器方法:

@RequestMapping(value="/home", method=RequestMethod.GET)
    public String home(Model model) throws Exception {
}

但基本上从你想打电话的问题来看

 @RequestMapping(value="/active", method=RequestMethod.GET)
    public String active(@RequestParam("a") String activeCode) throws Exception {
}

所以将您的请求更改为

<html><body><p>Dear %s</p><p>Click <a href="http://localhost:8080/EClass/active?a=%s">here</a>

还要在请求映射的 value 属性中指定 a /

于 2013-03-22T09:13:22.747 回答
0

您的请求映射中缺少斜杠//在控制器类级别方法级别添加。但不是两者兼而有之。。

于 2013-03-22T08:51:57.613 回答