La única forma que no es JS es establecer target="_blank"
en el elemento primario <h:form>
.
<h:form target="_blank">
...
<h:commandButton value="Open in new Window" />
</h:form>
Sin embargo, esto afecta a todos los no ajax acciones (!) Que se realizan en la misma forma. Entonces, si eres inteligente, haz que la acción que no debe abrirse en una nueva ventana sea una acción ajax. Sin embargo, ajax también es JavaScript y usted mencionó que no desea usar JS (espero que no se sorprenda una vez que descubra que PrimeFaces en realidad está lleno de JavaScript).
Si absolutamente necesita restringirlo a una sola acción, entonces realmente no puede ir pidiendo poca ayuda a JavaScript.
<h:form>
...
<h:commandButton value="Open in new Window" onclick="this.form.target='_blank'" />
</h:form>
tiene que ser una ventana? o puede ser una nueva pestaña? – Damian
Nueva pestaña también está bien. Cuando hace clic en el botón de comando, quiero que se abra una página en una nueva pestaña. – vr3w3c9
en un commandLink, logras esto añadiendo target = "_ blank", pero creo que no hay forma de hacerlo en un CommandButton sin javascript – Damian