i'm trying to use h:selectOneMenu with POJO. I dont know what is wrong but I;m getting this error: 'error de validacion: el error no es valido'
thank you
1 - registroAsuntos.xhtml
Code: Select all
<h:selectOneMenu id="cmbCategorias" value="#{beanAsuntos.dtca}"
converter="catAsuntosConverter">
<f:selectItems
value="#{beanAsuntos.selectCategorias}"
var="categoria"
/>
</h:selectOneMenu>
Code: Select all
DTCategoriaAsunto dtca = new DTCategoriaAsunto();
public DTCategoriaAsunto getDtca() {
return dtca;
}
public void setDtca(DTCategoriaAsunto dtca) {
this.dtca = dtca;
}
public List<DTCategoriaAsunto> getSelectCategorias() {
FacesMessage msg = null;
RequestContext context = RequestContext.getCurrentInstance();
List select = new ArrayList();
try {
List<DTCategoriaAsunto> cat = f.getAsuntos().listarCategoriaAsuntos();
Iterator i = cat.iterator();
while (i.hasNext()) {
DTCategoriaAsunto DCat = (DTCategoriaAsunto) i.next();
select.add(new SelectItem(DCat, DCat.getNombreTipo()));
}
} catch (Exception e) {
logger.info("===================== ERROR!!! ===============" + e.getMessage());
context.addCallbackParam("sucesso", false);
msg = new FacesMessage("error en listar Categoría Asunto " + e.getMessage());
msg.setSeverity(FacesMessage.SEVERITY_ERROR);
FacesContext.getCurrentInstance().addMessage(null, msg);
}
return select;
}
Code: Select all
package converters;
import beans.beanTareas;
import entCompartidas.DTCategoriaAsunto;
import java.util.logging.Logger;
import javax.faces.application.FacesMessage;
import javax.faces.bean.RequestScoped;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.convert.Converter;
import javax.faces.convert.FacesConverter;
import logica.Factory;
import org.primefaces.context.RequestContext;
/**
*
* @author maxi
*/
@FacesConverter(forClass=DTCategoriaAsunto.class, value="catAsuntosConverter")
@RequestScoped
public class CategorizacionConverter implements Converter{
private static final Logger logger = Logger.getLogger(beanTareas.class.getName());
FacesMessage msg = null;
RequestContext context = RequestContext.getCurrentInstance();
Factory f=new Factory();
DTCategoriaAsunto cat;
public Object getAsObject(FacesContext fc, UIComponent uic, String string) {
try{
cat= f.getAsuntos().buscarCategorizacion(string);
}catch(Exception e){
logger.info("===================== ERROR!!! ===============" + e.getMessage());
context.addCallbackParam("sucesso", false);
msg = new FacesMessage("error en listar categoría Asunto " + e.getMessage());
msg.setSeverity(FacesMessage.SEVERITY_ERROR);
FacesContext.getCurrentInstance().addMessage(null, msg);
}
return cat;
}
public String getAsString(FacesContext fc, UIComponent uic, Object o) {
DTCategoriaAsunto cat2=(DTCategoriaAsunto) o;
return cat2.getNombreTipo();
}
}