簡體   English   中英

primefaces 命令按鈕條件語句

[英]primefaces commandbutton conditional statement

我想要在我的命令按鈕(Primefaces 6.0)中有一個條件語句,如果我的 java 方法返回 false 或 true,它應該顯示一個對話框。 類似的東西:

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

如果我不能刪除它,myJavaMethod 返回 false,如果我可以刪除它,則返回 true。

我的對話框如下所示:

 <!-- 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>

(與“編輯”對話框相同的對話框)

您要做的是使用onclick調用服務器端方法,並且您必須知道onclick只是一個客戶端方法,您可以使用它來調用 javascript 方法,而 javascript 方法將調用p:remoteCommand this是一個簡單的例子,但我很確定你可以在其他帖子中找到更多關於這個主題的內容,閱讀這篇文章希望能提供更多關於它的信息如何僅在 onclick 事件發生時調用 JSF 支持 bean 方法

關於您的問題,您可以使用您的方法有條件地調用您的對話

讓我們看看這個例子:

托管Bean.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 頁面中,它看起來像這樣

我的XHTML頁面.xhtml

 <p:commandButton actionListener="#{managedBean.myJavaMethod}">
 ...
 </p:commandButton>

您可以在這篇文章從托管 Bean 函數調用 Primefaces 對話框中閱讀更多內容。

希望對你有幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM