登録からの電子メールの URL をクリックした後にトリガーされるアクティベーションを作成しています。#{validate} のようなもので xhtml ページを作成する代わりに、Bean の Activate.java をすぐに実行したいと考えています。
ユーザーはログインにリダイレクトされるため、xhtml ファイルは必要ありません。これを達成する最善の方法は何ですか?
注意してください、私はJSF 2.0を使用しています。
サーブレットを使用します。
@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>
です。キーが見つからないか無効な場合はどうしますか?