Actualice / navegue por la página actual mientras abre / descarga el archivo en una nueva pestaña / ventana

Tengo un botón que abre una nueva pestaña con un archivo pdf generado. Sin embargo, después de hacer clic en el botón, quiero navegar a otra página.

Eso significa que, después de hacer clic en el botón, quiero abrir una nueva pestaña con el pdf y navegar a otra página en la pestaña inicial. Estoy usando primefacesp:commandButton y probado cononclick="window.location.href='www.google.de'" Pero no funciona. sin embargoonclick="window.lalert('www.google.de')" funciona.

Este es mi código:

<h:form id="transForm" target="_blank">
<p:commandButton  value="Zertifikat erstellen" ajax="false" 
                                label="Speichert die Anmeldung und erstellt ein Zertifikat im PDF-Format"
                                action="#{transportErfassen.generatePDFZertifikat()}"/>

</h:form>

generatePDFZertifikat() crea un archivo pdf con el siguiente código, creo que aquí está el problema:

    FacesContext facesContext = FacesContext.getCurrentInstance();
    ExternalContext externalContext = facesContext.getExternalContext();

    externalContext.setResponseContentType("application/pdf" );
    externalContext.setResponseHeader("Expires", "0");
    externalContext.setResponseHeader("Cache-Control","must-revalidate, post-check=0, pre-check=0");
    externalContext.setResponseHeader("Pragma", "public");
    externalContext.setResponseHeader("Content-disposition", "inline; filename=\"" + fileName +"\"");
    externalContext.setResponseContentLength(out.length);
    externalContext.addResponseCookie(Constants.DOWNLOAD_COOKIE, "true", new HashMap<String, Object>());

    //setze explizit auf OK
    externalContext.setResponseStatus(200);     

    OutputStream os = externalContext.getResponseOutputStream();
    os.write(out, 0, out.length);
    os.flush();

    facesContext.responseComplete();       
    facesContext.renderResponse();       

Respuestas a la pregunta(2)

Su respuesta a la pregunta