2017-01-19 108 views
1

私はこのようにダイアログフレームワーク、使用してPrimefacesダイアログを表示する:私はメッセージと2つのボタンを持っているmyDialog.xhtmlページでprimefacesダイアログ・フレームワーク:閉じるダイアログ「onclickの」

RequestContext.getCurrentInstance().openDialog("myDialog", options, params); 

を:YESまたはNO 。 イベント "onclick"でPfダイアログを閉じたいのですが、これを行う方法はありますか?

私は静的にPを使用してダイアログを定義することはできません:あなたは本当にダイアログを閉じる必要があれば、そうでない場合

<p:commandButton action="#{someBean.closeDialog('yes')}" process="@form" update="@form" 
    icon="#{icons.yes}" value="#{bundle.yes}" /> 

<p:commandButton action="#{someBean.closeDialog('no')}" process="@form" update="@form" 
    icon="#{icons.no}" value="#{bundle.no}" /> 


public void closeDialog(String choice) 
{ 
    RequestContext requestContext = RequestContext.getCurrentInstance(); 

    Object someData = executeChoice(choice); 

    requestContext.closeDialog(someData); 
} 

:ダイアログと近いよりも、それは一般的にPF('widgetVarName').hide();

答えて

2

を使用して、あなたはこのような何かをしたいことがあり

<p:remoteCommand name="closeDialog" action="#{someBean.closeDialog}" process="@this" /> 

<p:commandButton type="button" onclick="closeDialog()" icon="#{icons.close}" 
    value="#{bundle.close}" /> 


public void closeDialog() 
{ 
    RequestContext requestContext = RequestContext.getCurrentInstance(); 

    requestContext.closeDialog(null); 
} 

を最後に、あなたがが必要な場合:onclickにあなたが使用することができます(...少し奇妙に聞こえます)純粋なjavascriptソリューション:

<p:commandButton type="button" 
    onclick="PrimeFaces.closeDialog({pfdlgcid:'#{param.pfdlgcid}'})" 
    icon="#{icons.close}" value="#{bundle.close}" /> 
関連する問題