0

JSFログイン申請に携わりました。ここには、ログインロジックとクラス内にdoLogin()含まれる 2 つのメソッド呼び出しがあります。と呼ばれるコマンドボタンがあり、ここではこれを使用しました。、だから私は呼び出すことができます。私の問題は、どうやって呼び出すことができるかです。doFilter()LoginBeanindex.xhtmlloginaction="#{loginBean.doLogin}"doLogin()doFilter()

4

1 に答える 1

1

次のようなマネージド Bean があるとします。

@RequestScoped
@ManagedBean
public class Login {

    public Login() {
    }

    public String doLogin() {
    }

    public void doFilter() {
    }
}

doFilter内でメソッドを呼び出す必要がある場合はdoLogin、基本的なプログラミングのように呼び出しを追加するだけです。

public String doLogin() {
    //some code here...
    doFilter();
    //more code over here...
}

最後の質問Primefaces Login ApplicationdoFilterに基づいて、Web フィルターにdoLogin属するメソッドとマネージド Bean に属するメソッドを混同しています。

  • ユーザーがこのdoLoginメソッドを呼び出すイベントをアクティブ化すると、FacesServlet によって呼び出されます。たとえば、UI コマンド アクションは次のとおりです。

    <h:form>
        <h:commandButton value="Click me!" action="#{loginBean.doLogin}" />
    </h:form>
    
  • メソッドはdoFilter、Web フィルターによって呼び出されます。要求 URL が Web フィルターで宣言された URLPattern と一致する場合にのみ、(Faces)Servlet の前にフィルターが実行されることに注意してください。これの意味は:

    • URLPattern = "*.xhtml" のフィルターがあります。
    • にリクエストするたびに<whatever>.xhtml、フィルタが呼び出されます。
    • 呼び出されると、メソッドが実行されdoFilterます (デフォルトのメソッド)。

より詳しい情報:

余談ですが、Java Web 開発の基本ベスト プラクティスを実際に学ぶ必要があります。

于 2012-10-02T06:03:43.990 に答える