2017-02-08 3 views
1

내 Java 메소드가 false 또는 true를 반환 할 경우 대화 상자를 표시해야하는 내 명령 버튼 (Primefaces 6.0)에 조건문이 필요합니다. 뭐 그런 : 내가 그것을 삭제할 수 있다면 내가 그것을 삭제하고 사실 수없는 경우 primefaces commandbutton 조건문

<p:commandButton onclick="(myJavaMethod) ? deleteDialog.show() : confirmDialog.show()"> 
 
    <p:confirm header="Deleting Branch" message="Do you want to delete the Branch?"/> 
 
</p:commandButton>
는 false를 돌려 myJavaMethod.

내 대화 상자는 다음과 같다 :

<!-- DELETE-DIALOG --> 
 
<p:dialog id="deleteDialog" widgetVar="deleteDialog"> 
 
    <h:form id="deleteDialogForm"> 
 
     <h:panelGrid columns="1" border="0"> 
 
     <p:outputLabel value="Branch could not be deleted"/> 
 
      <p:commandButton icon="ui-icon-close" id="doCloseDialog" oncomplete="PF('deleteDialog').hide()" value="OK" class="btn-confirm"/> 
 
     </h:panelGrid> 
 
    </h:form> 
 
</p:dialog>
('편집'대화 상자와 같은 대화 상자)

답변

1

당신이 할하려고하는 것은으로 서버 측 메서드를 호출하는 것입니다 onclick이고 onclick 은 클라이언트 측 메서드 일 뿐이므로이를 사용하여 javascript 메서드를 호출하고 javascript 메서드는을 호출합니다. 이것은 간단한 예이지만이 주제에 대해 다른 게시물에서 더 많이 찾을 수 있다고 확신합니다.이 게시물을 읽어보십시오. 에 대해 더 많은 정보를 제공합니다. How to call JSF backing bean method only when onclick event occurs. 귀하의 질문에 대한

당신은 조건부로 전화를 당신의 방법을 사용할 수 있습니다 귀하의 대화

이 예를 보자 :

ManagedBean.java

public void myJavaMethod() { 
... 
if(condition){ 
RequestContext context = RequestContext.getCurrentInstance(); 
context.execute("PF('myDialogVar').show();"); 
} else { 
RequestContext context = RequestContext.getCurrentInstance(); 
context.execute("PF('myDialogVarOther').show();");  
}  
...  
} 

과 모양을 당신의 XHTML 페이지를 like this

myXHTMLpage.xhtml

이 게시물 Calling Primefaces dialog box from Managed Bean function에서 자세한 내용을 볼 수 있습니다.

희망은 당신을 도왔습니다.

+0

문제가 해결 되나요? –