Buscar
Social
Ofertas laborales ES

Foro sobre Java EE > Crear tag JSF desde javascripts

Hola,
A ver si pueden ayudarme con este problema que les cuento. Tengo un formulario JSF con un botón p:commandButton (primefaces), así:
<p:commandButton oncomplete="fresp(xhr, status, args);"
action="#{clienteSesion.doLogin}" value="Entrar"/>
Se procesa el contenido del formulario en el método doLogin del managed bean y manda una respuesta a la función fresp, para que redireccione a otra página o bien, para que se muestre un mensaje con un enlace a otra página JSF:
if (login){
// Aquí código
RequestContext.getCurrentInstance().addCallbackParam("login", true);
}
else{
// Aquí código
RequestContext.getCurrentInstance().addCallbackParam("login", false);
}
No sé si conoceis lo anterior, aunque no es muy relevante lo bueno viene ahora. En la función tengo dos problemas:
1. hacer la redirección a página JSF, sé hacerlo a página HTML pero no a JSF.
2. meter el enlace dentro de la página. He probado utilizando DOM, y he conseguido meter un enlace html, pero necesito meter un enlace JSF (<h:commandLink>). Este es el código que he intentado y no funciona:
function fresp(xhr, status, args){
if (args.login){
window.document.location=("ventas.xhtml");
//sirve como enlace a html pero no xhtml
}
else{
var comLink = document.createElement("h:commandLink");
comLink.setAttribute("action", "registrar.xhtml");
comLink.setAttribute("value", "Regístrese");

var div_error = document.getElementById("error");
var txt_error = document.createTextNode("Datos de acceso incorrectos. ");
div_error.appendChild(txt_error);
div_error.appendChild(comLink);
}
}
Con este código el enlace no aparece en la página, aunque sí el texto que lo acompaña.
Un saludo

noviembre 28, 2012 | Unregistered Commenterrockillos