我的要求是这样的,
当我选择诸如考试之类的模板时,考试页面将生成具有考试字段(已尊重POJO的),并且选择游戏页面时,一个页面将与其字段生成,
我怎样才能实现这种类型的要求。主要目标是,bean 无需担心选择哪个模板。它是完全独立的。
我没有得到整个问题,但我会尽力提供帮助。
您可以Template Method
为您的 bean 类使用设计模式,并且在您的 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()}
我认为这些是标签,我不确定。
希望我能帮上忙。