0

私の要件は次のようになります。

試験のようなテンプレートを選択すると、試験フィールド (POJO を尊重した) を含む試験ページが生成され、ゲームページが選択されると、そのフィールドを含むページが生成されます。

このタイプの要件をどのように実装できますか。主な目標は、bean がどのテンプレートを選択するか気にする必要がないことです。完全に独立しています。

4

1 に答える 1

0

私はすべての問題を理解していませんでしたが、私は助けようとします。
Beanクラスにはデザインパターンを使用Template Methodできます。JSFページでは、抽象クラスメソッドを呼び出すことができます。このようなもの:

public abstract class AbstractBean {

    public void templateMethod(){
         //Same code for all children;
         foo();
         //Same code for all children;
    }

    protected abstract void foo();
}

public class Bean extends AbstractBean {

    protected void foo(){
        //Your specific code here;
    }
}

次に、JSFページで。を呼び出すだけ#{abstractBean.templateMethod()}です。#{abstractBean}しかし、サブクラスを変数に注入する方法がよくわかりません。

ただし、別の方法で役立つ可能性のあるFaceletタグがありますui:param。これを見てください:http ://www.oracle.com/technetwork/articles/java/facelets-454361.html 。前のコードとは何の関係もありません、それは別の解決策です。私はすでにそれを自分で使用しました。テンプレートページ(ui:define)で変数を定義できます。特定のページではui:param、テンプレートページに定義された変数に値を設定するために使用します。次に#{definedVariable.someMethod()}、これらはタグだと思いますが、よくわかりません。

私が助けることができることを願っています。

于 2013-02-22T11:18:23.537 に答える