I found the below text at another site (
http://www.java-samples.com/showtutorial.php?tutorialid=476):
Closing the popup window
If the close button has a "cancel" semantic, we can use a simple OutputLink:
<h:outputLink onclick="window.close(); return false;" value="#">
<h:outputText value="cancel" />
</h:outputLink>
The window will simply close. The server will not notice anything.
Submit form and close the popup window
For a proper action handling which goes through the whole request lifecycle we need to use an action listener:
<h:commandLink actionListener="#{popupBean.closeWindowClicked}" value="submit and close" />
public void closeWindowClicked(ActionEvent event) {
FacesContext facesContext = FacesContext.getCurrentInstance();
String javaScriptText = "window.close();";
// Add the Javascript to the rendered page's header for immediate execution
AddResource addResource = AddResourceFactory.getInstance(facesContext);
addResource.addInlineScriptAtPosition(facesContext, AddResource.HEADER_BEGIN, javaScriptText);
}
Note: If there is a validation error the window will not close unless the "immediate" attribute of the commandLink is set to "true".
hope that helps,
Tom