You can't. No web application can send data to a client unless the client has made a request. Only one response may come back from one request. Webapps (whether Java or not) are not independently running programs, they're bundles of code that get called to process a request and render a response.
The popup has to be closed in the client.
An IDE is no substitute for an Intelligent Developer.
Joined: Jul 25, 2011
Thanks tim for your response,
are you sure tim i cant do that?
i have another idea how to make it but i would like to asking about how could put if statement on a4j:commandlink
because the idea is when the data is updated rich:popup close automatically,,
Yes I'm sure you can't do that. Webapps don't run as continuous processes, so there'd be nothing running that could push out the close command even if if was legal to send a command out without receiving a request first. Which it isn't, even in non-Java webapps.
You can put a close() command on the popup's "Submit" button, though, and I do that all the time. It's not run from the managed bean - it runs on the client.
If you want the dialog to conditionally close - for example, if the submit fails, display a message on the dialog and keep it open - that's a stickier problem. I have a solution, but it's specific to RichFaces V3 and involves the ability of the a4j:commandButton/commandLink controls to return a JSON datastream that contains a go/no-go value and an error message.