如何在 rich:popupPanel 中调用托管 bean 操作
我需要与用户确认他或她是否确定要删除他或她的帐户。 为此,我认为弹出屏幕会很酷。但大多数浏览器都会阻止弹出窗口。
所以我试图用 popupPanel 来做到这一点。 但我猜这是不可能的,因为我里面有一个commandLink,这就是我到目前为止所做的:
<rich:popupPanel id="popup_delete_profile" modal="true" onmaskclick="#{rich:component('popup_delete_profile')}.hide()">
<f:facet name="header">
<h:outputText value="Aviso" />
</f:facet>
<f:facet name="controls">
<h:outputLink value="#" onclick="#{rich:component('popup_delete_profile')}.hide(); return false;">
Close
</h:outputLink>
</f:facet>
<p>Are you sure ?</p>
<h:commandLink value="Yes" action="#{userc.deleteUser}"></h:commandLink>
<h:outputLink value="#" onclick="#{rich:component('popup_delete_profile')}.hide(); return false;">
No
</h:outputLink>
</rich:popupPanel>
这是我的manageBean:
public void deleteUser(){
try {
eaoUser.delete(userb.getUser());
// here I would like to refresh the popupPanel saying that was deleted with success and then logout
} catch (Exception e) {
view.errorMessage("ocorreu um erro, por favor tente novamente");
e.printStackTrace();
}
}
编辑:
public String deleteUser() {
FacesContext.getCurrentInstance().getExternalContext().invalidateSession();
return "/index.xhtml?faces-redirect=true";
}
知道如何做到这一点吗?
I need to confirm with the user if he or she are sure about delete his or her account.
For this I think a popup screen would be cool. But most browser block the popup windows.
So I was trying to do that with popupPanel.
But I'm guessing that would not be possible because I have a commandLink inside of it, here's what I'm doind so far :
<rich:popupPanel id="popup_delete_profile" modal="true" onmaskclick="#{rich:component('popup_delete_profile')}.hide()">
<f:facet name="header">
<h:outputText value="Aviso" />
</f:facet>
<f:facet name="controls">
<h:outputLink value="#" onclick="#{rich:component('popup_delete_profile')}.hide(); return false;">
Close
</h:outputLink>
</f:facet>
<p>Are you sure ?</p>
<h:commandLink value="Yes" action="#{userc.deleteUser}"></h:commandLink>
<h:outputLink value="#" onclick="#{rich:component('popup_delete_profile')}.hide(); return false;">
No
</h:outputLink>
</rich:popupPanel>
This is my manageBean:
public void deleteUser(){
try {
eaoUser.delete(userb.getUser());
// here I would like to refresh the popupPanel saying that was deleted with success and then logout
} catch (Exception e) {
view.errorMessage("ocorreu um erro, por favor tente novamente");
e.printStackTrace();
}
}
EDIT:
public String deleteUser() {
FacesContext.getCurrentInstance().getExternalContext().invalidateSession();
return "/index.xhtml?faces-redirect=true";
}
Any idea how to do that ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
richFaces 实时演示中有两个示例可解决您的问题
在 RF 中4 个现场演示,它们包括托管 Bean 的示例。
希望有帮助。
There are two samples for your problem in the richFaces live demo
In the RF 4 live demo, they include a sample of the Managed Bean.
Hope it helps.
如何在 rich:popupPanel 中调用托管 bean 操作
How to invoke managed bean action in rich:popupPanel