My problem is the program output is empty, is not Se ha impreso el mensaje when I press a link of the Formularios table
My JSF page:
<b:dataTable value = "#{formBean.formularios}" var = "formulario" id = "dataTableFormularios">
<b:column>
<f:facet name = "header">
<h:outputText value = "ID"/>
</f:facet>
<h:outputText value = "#{formulario.id}"/>
</b:column>
<b:column>
<f:facet name = "header">
<h:outputText value = "Nombre Formulario"/>
</f:facet>
<h:form>
<h:commandLink type = "button" action="#{formBean.imprimirMensaje}" value = "#{formulario.nombre}"/>
</h:form>
</b:column>
My Bean:
package beans.backing;
import java.io.IOException;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ManagedProperty;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;
import model.dao.GestionFormulario;
import model.entities.Formulario;
@ManagedBean
@SessionScoped
public class FormBean implements Serializable {
@ManagedProperty(value = "#{userBean}")
private UserBean userBean;
private List<Formulario> formularios;
private Formulario formulario;
private String fechaString;
private GestionFormulario gestionFormulario;
private String excepcion;
public FormBean() {
formulario = new Formulario();
gestionFormulario = new GestionFormulario();
}
public String load() throws IOException{
formularios = gestionFormulario.consultarFormularios();
FacesContext.getCurrentInstance().getExtealContext().redirect("formulario.xhtml");
retu "formulario";
}
public void generarFormulario(){
formulario = new Formulario();
formulario.setFecha(new Date());
}
public void guardarFormulario(){
gestionFormulario.insertarFormulario(formulario);
formularios = gestionFormulario.consultarFormularios();
}
public void describirFormulario(int id){
/*
int t = formularios.size();
for(int i = 0; i < t; i++)
if(formularios.get(i).getId() == id){
formulario = formularios.get(i);
break;
}
*/
}
public void imprimirMensaje(){
System.out.println("Se ha impreso el mensaje");
}
public UserBean getUserBean() {
retu userBean;
}
public void setUserBean(UserBean userBean) {
this.userBean = userBean;
}
public List<Formulario> getFormularios() {
retu formularios;
}
public void setFormularios(List<Formulario> formularios) {
this.formularios = formularios;
}
public String getExcepcion() {
retu excepcion;
}
public void setExcepcion(String excepcion) {
this.excepcion = excepcion;
}
public Formulario getFormulario() {
retu formulario;
}
public void setFormulario(Formulario formulario) {
this.formulario = formulario;
}
public String getFechaString() {
retu fechaString;
}
public void setFechaString(String fechaString) {
this.fechaString = fechaString;
}
public GestionFormulario getGestionFormulario() {
retu gestionFormulario;
}
public void setGestionFormulario(GestionFormulario gestionFormulario) {
this.gestionFormulario = gestionFormulario;
}
}
My structure Formulario:
package model.entities;
import java.util.Date;
public class Formulario implements java.io.Serializable {
private int id;
private String nombre;
private Date fecha;
private byte ciclo;
private String nivel;
public Formulario() {
}
public Formulario(int id, String nombre, Date fecha, byte ciclo, String nivel) {
this.id = id;
this.nombre = nombre;
this.fecha = fecha;
this.ciclo = ciclo;
this.nivel = nivel;
}
public int getId() {
retu this.id;
}
public void setId(int id) {
this.id = id;
}
public String getNombre() {
retu this.nombre;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
public Date getFecha() {
retu this.fecha;
}
public void setFecha(Date fecha) {
this.fecha = fecha;
}
public byte getCiclo() {
retu this.ciclo;
}
public void setCiclo(byte ciclo) {
this.ciclo = ciclo;
}
public String getNivel() {
retu this.nivel;
}
public void setNivel(String nivel) {
this.nivel = nivel;
}
}
