我有几个页面,我以这种方式使用PrimeFaces复选框:
<p:column>
<f:facet name="header">
<p:selectBooleanCheckbox value="#{Bean.allChecked}">
<p:ajax process="@this" update=":form:table" listener="#{Bean.handleAllChecked}"/>
</p:selectBooleanCheckbox>
</f:facet>
...
</p:column>
我想打开一个信息弹出对话框,说“这将选择所有项目!”只有一个“确定”按钮。我该怎么办?
请记住,有几个页面具有相同的行为,并且我希望尽可能避免一遍又一遍地复制/粘贴相同的代码。
答案 0 :(得分:0)
使用primefaces
commandButton
和Confirmation dialog
在你的xhtml文件中
<f:facet name="header">
<p:commandButton value="Select All" actionListener="#{testBean.handleAll}">
<p:confirm header="Select All" message="This will select all items?"
icon="ui-icon-alert" />
</p:commandButton>
</f:facet>
添加确认对话框代码(您可以创建一个文件,只包含在任何xhtml中)
<p:confirmDialog global="true" showEffect="fade" hideEffect="explode">
<p:commandButton value="Yes" type="button"
styleClass="ui-confirmdialog-yes" icon="ui-icon-check" />
<p:commandButton value="No" type="button"
styleClass="ui-confirmdialog-no" icon="ui-icon-close" />
</p:confirmDialog>
<强> Managedbean 强>
public void handleAll(ActionEvent event){
System.out.println("called only when selected yes");
}
方法handleAll
只有在用户点击“Yes
”时才会被调用,否则它将无法执行任何操作。
我希望有帮助