0

フロントコントローラーがあり、各メソッドにリクエストマッピングがあり、このメソッドがサービス実装を呼び出し、最終的にビューを UI に返す Spring MVC Web アプリケーションを以前に作成しました。今、私がJSFアプリケーションを設計するとき、フロー自体を理解することができません - これは私が現在アプリケーションに持っているものです:

  1. 最初index.htmlはログイン ページにリダイレクトされます。

  2. ラベル値を入力するログイン ページのバッキング Bean。これは入力フォームであるため、他のロジックは関係ありません。

  3. ユーザーが送信をクリックすると->アクションメソッドで、認証プロセスのためにサービス(No.1)を呼び出し、ページの名前を返すことでユーザーをホームページにリダイレクトするロジックがあります

  4. ホームページには、バッキング Bean にバインドされたさまざまなフィールドが表示されます。このフィールドには、別の Web サービス呼び出し (No.2) によって値を入力する必要があります。

手順 (3) と (4) の間にあり、混乱しています。以前のSpringでは、明示的なマッピングがあり、フロントコントローラーメソッドでロジックを「実際に」制御できました。JSF では、No.2 の Web サービス呼び出しのロジックを認証呼び出しと組み合わせる必要があるかどうかわかりません。これは、Bean を設定する方法がないためです。

フローを明示的に制御できないかのようです。これを理解しようとして多くの記事を読みましたが、理解できません。ポインタと、実際にこれをよりよく説明する参考文献を提供してください。

4

1 に答える 1

0

JSF Bean でロジックを制御できないのはなぜですか?EJB での使用例

@ManagedBean
@RequestScoped
public class LoginBean {

    @EJB
    private AuthBean authBean;
    @EJB
    private UserSettings settingsBean;

    private String name, password;

    @PostConstruct
    private void init() {
        //do your initialization here
    }

    public String loginAction() {
        User user = authBean.authenticate(user, password);
        if(user != null) {
            UserSetting settings = settingsBean.getSettings(user.getId());
            return "home";
        }
    }
    //setters and getters
}
于 2013-01-24T14:53:05.080 に答える