以下で誰でも助けることができます。
条件が真の場合にのみ、jsf のコマンド リンク タグを使用して新しいブラウザー タブを開く必要があります。
jsfタグで条件を設定するには?
以下で誰でも助けることができます。
条件が真の場合にのみ、jsf のコマンド リンク タグを使用して新しいブラウザー タブを開く必要があります。
jsfタグで条件を設定するには?
commandMenu の管理対象 Bean actionListener を使用して、条件をテストし、真の場合は新しいタブのページにリダイレクトできます...
import javax.faces.event.ActionEvent;
パブリック クラス PageBean {
String page;
public PageBean() {
}
public void getMenu(ActionEvent actionEvent) {
// Add event code here...
/* 条件を取得してテストするコードを追加し、条件 true および false 条件に基づいて、次の方法でクリックされたメニューの commandMenu ID を取得します
コマンドメニューのIDには、メニュークリック時に次のタブで開きたいのと同じ名前を付けてください。私の場合のように、コマンドメニューIDをpage1 String id = actionEvent.getComponent().getId();として指定しました。System.out.println(" メニュー ID : "+id); 取得したメニュー ID を適切なページ拡張子を持つページ変数に設定し、マネージド Bean からのアクションでパリブルにアクセスして、検証のテスト後にメニュー クリック時に次のタブのページにリダイレクトします */
page = id;
System.out.println("Value assigned to the page from the menu Id is :"+page);
}
public String getPage() {
return page;
}
public void setPage(String page) {
this.page = page;
}
public void dashContentEntryCheck(){
System.out.println("entered inside dashboard content task flow");
}
}
rendered
属性を使用して、EL 式でそれらを完成させることができます。属性を使用するrendered
と、条件が の場合にのみリンクが表示されますtrue
。
条件に応じて新しいブラウザー タブでコマンドリンクを開きたい場合は、rendered
属性を使用して簡単に実現できます。
<h:commandLink action="my_navigation_rule"
rendered="#{!MyBean.booleanValue}" />
<h:commandLink action="my_navigation_rule"
rendered="#{MyBean.booleanValue}" target="_blank"/>
条件が排他的であるためrendered
、commandLinks の 1 つだけが出力されます。
JSF 式言語 (EL) の詳細 ( jsf タグで条件を設定するのに非常に便利) -->こちら
注:EL式を使用して値を決定できるため、ソリューションを改善できることはわかっていますtarget
が、私の意見では、このソリューションの方が簡単です。