在我的.xhtml文件中,我有一个按钮,它从我的ManagedBean调用一个方法。该方法应该运行一些测试,如果这些测试失败,我应该显示一个带有警告或错误的弹出窗口。警告不应该影响未来的流量,但错误应该停止它。
如何从后端启动弹出窗口?
简单地说,您不会从后端启动任何弹出窗口。您的backingbean不了解DOM或浏览器。然而,您可以做的是将状态保存在一个backingbean中,并根据该状态呈现给定的HTML或JavaScript块。为此,您可以将rendered="#{mybean.myboolean}"
属性与按钮上的update="elementID"
结合使用。单击后,该按钮将在服务器上重新呈现具有给定ID的元素,并将其注入DOM。如果它包含用于弹出窗口的HTML或JS代码,那么它就会显示出来。
请参阅此处获得一个很好的示例:使用h:commandButton 进行Ajax更新和提交
或者您可以尝试JSF消息组件:http://www.mkyong.com/jsf2/jsf-2-message-and-messages-example/
EDIT:由于您似乎在使用PrimeFaces,您可能还需要查看对话框和验证。