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

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 に答える
1

RequestMapping を「ホーム」にマップする必要があります。

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

/リクエスト マッピングにスラッシュがありません。/コントローラー クラス レベルまたはメソッド レベルで追加します。しかし、両方ではありません..

于 2013-03-22T08:51:57.613 に答える