Dessa forma é bem mais chata de fazer, você pode implementar uma modal do richfaces, ai no envento de oncomplete tu da um close nela se você tiver usando richfaces abra uma modal, cria uma modal com o que você precisa e um backed bean para ela, vai fazer a mesma coisa e vai te retornar os resultados, e nesse caso você abriu uma janela nova no navegador, pra fechar só usando window.close dai já envolve javascript é a única forma de fechar a janela, para fazer dessa forma você teria que abrir a nova janela via javascript e na pagina que abre ela criar uma função para o retorno mais ou menos assim:
Pagina Principal:
<a4j:commandButton
id="btnOK" value="OK"
onclick="window.open("url da janela")"
reRender="quantidadeEtiquetaModal"
immediate="true"
>
<a4j:support event="oncomplete" reRender="quantidadeEtiquetaModal" ajaxSingle="true" />
</a4j:commandButton>
e teria que criar uma função de retorno da popup
function retornoPopup(retorno){
document.formulario.campo.value = retorno;
}
E na popup você colocaria um botão e no clique dele você coloca:
window.opener.retornoPopup(passando o parametro java que você quer popular no campo); window.close();
ai ele vai chamar a função da outra página e fechar, quando ele chamar a função você vai popular no campo, que é a função retornoPopup(retorno);
Qualquer dúvida posta aí que eu ti dou uma ajuda.