1

登録からの電子メールの URL をクリックした後にトリガーされるアクティベーションを作成しています。#{validate} のようなもので xhtml ページを作成する代わりに、Bean の Activate.java をすぐに実行したいと考えています。

ユーザーはログインにリダイレクトされるため、xhtml ファイルは必要ありません。これを達成する最善の方法は何ですか?

注意してください、私はJSF 2.0を使用しています。

4

1 に答える 1

3

サーブレットを使用します。

@WebServlet("/activate")
public class ActivationServlet extends HttpServlet {

   @EJB
   private ActivationService service;

   @Override
   protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
       String key = request.getParameter("key");

       // ...

       response.sendRedirect(request.getContextPath() + "/login.xhtml");
   }

}

これは、 を呼び出すと呼び出されますhttp://localhost:8080/contextpath/activate?key=42

を使用すると、可能な限り JSF 検証機能を見逃すだけ<f:viewParam>です。キーが見つからないか無効な場合はどうしますか?

于 2012-10-19T15:22:09.493 に答える