save、new、search ...のようなアクションを持つすべてのjsfページに同じコマンドボタンを持つ同じ標準ツールバーがあります。リファクタリングする方法を探していますxhtmlページでそれをすべてのページに含めると、各ページにはビュースコープのマネージドビーンがあり、コマンドボタンのアクションは各ページに関連しているという問題があります。各ページのカスタムロジックで共通のJSFツールバーをリファクタリングする
それぞれ、その下のインターフェースは、アクションが
public interface ActionAbstract {
public void search(ActionEvent actionEvent);
public void newRecord(ActionEvent actionEvent);
public void clear(ActionEvent actionEvent);
public void remove(ActionEvent actionEvent);
public void searchAdvanced(ActionEvent actionEvent);
public void back(ActionEvent actionEvent);
public void closePage(ActionEvent actionEvent);
public void validate(ActionEvent actionEvent);
public void duplicate(ActionEvent actionEvent);
public void refresh(ActionEvent actionEvent);
}
マネージドBean表し実装managedbean:
@ViewScoped
@ManagedBean
public class ExampleBean implements ActionAbstract
ツールバーのXHTML:
<p:toolbar>
<f:facet name="left">
<p:commandButton title="New" update="@all" icon="fa fa-plus" actionListener="#{ExampleBean.newRecord}" process="@this" />
<p:commandButton title="Search" update="@all" icon="fa fa-search" actionListener="#{ExampleBean.search}" rendered="#{ExampleBean.showTable}"
process="@this" />
<p:commandButton title="Advanced Search" icon="fa fa-search-plus" actionListener="#{ExampleBean.searchAdvanced}"
rendered="#{ExampleBean.showTable}" process="@this" />
<p:commandButton title="Clear" icon="fa fa-eraser" actionListener="#{ExampleBean.clear}" rendered="#{ExampleBean.showTable}" process="@this" />
<p:commandButton title="Duplicate" icon="fa fa-copy" actionListener="#{ExampleBean.duplicate}" rendered="#{ExampleBean.showDetail}"
process="@this" />
<p:commandButton title="Validate" icon="fa fa-check" actionListener="#{ExampleBean.validate}" rendered="#{ExampleBean.showDetail}"
process="@this" />
<p:commandButton title="Remove" icon="fa fa-remove" actionListener="#{ExampleBean.remove}" rendered="#{ExampleBean.showDetail}" process="@this" />
<p:commandButton title="Refresh" icon="fa fa-refresh" actionListener="#{ExampleBean.refresh}" process="@this" />
<p:commandButton title="Back" update=":form" icon="fa fa-arrow-left" actionListener="#{ExampleBean.back}" rendered="#{ExampleBean.showDetail}"
process="@this" />
<p:commandButton title="Close" icon="fa fa-sign-out" actionListener="#{ExampleBean.closePage}" process="@this" />
</f:facet>
をそれはpossiblですそれをリファクタリングするe ??? !!!ご助力ありがとうございます。