为什么我在primefaces上得到了无效的价值?

时间:2013-11-07 20:21:16

标签: jsf jsf-2 primefaces

我正在尝试像http://www.primefaces.org/showcase/ui/pprSelect.jsf那样进行级联组合,并且它完美无缺,直到我点击我的提交按钮,然后我收到消息“验证错误,该值无效”,它只会发生在我选择了两个组合。 以下是我的观点:

<h:form id="agregarGestor">
    <p:growl id="growl2" showDetail="true" />
    <table id="display">
        <tr>
            <td><h:outputText value="Originador:" /></td>
            <td>
                <p:selectOneMenu id="originador" value="#{gestorMB.originador}">
                    <f:selectItem itemLabel="Selecciona Originador" itemValue="" />
                    <f:selectItems value="#{gestorMB.originadores}" />
                    <p:ajax update="mensajeria" listener="#{gestorMB.handleOriginadorChange}" />
                </p:selectOneMenu>                                    
            </td>
            <td><h:outputText value="Mensajeria:" /></td>
            <td>
                <p:selectOneMenu id="mensajeria" value="#{gestorMB.mensajeria}">
                    <f:selectItem itemLabel="Selecciona Mensajeria" itemValue="" />
                    <f:selectItems value="#{gestorMB.mensajerias}" />
                </p:selectOneMenu>                                    
            </td>                                
        </tr>
        <tr>
            <td>
                <p:commandButton value="Guardar" update="growl2 :gestorForm:gestoresTable" action="#{gestorMB.agregarGestor}"/>                                            
            </td>
        </tr>                                    
    </table>                        
</h:form>

这是我的托管bean

private List<OriginadorDTO> listOriginadoresDTO;
private Map<String,String> originadores = new HashMap<String, String>();
private String originador;
private List<MensajeriaDTO> listMensajeriasDTO;
private Map<String, String> mensajerias = new HashMap<String, String>();
private String mensajeria;

public void handleOriginadorChange() {
    try {
        populateMensajerias(originador);
    } catch (ServiceException ex) {
        Logger.getLogger(GestoresManagedBean.class.getName()).log(Level.SEVERE, null, ex);
            FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, "ERROR",
                    "Ocurrió un error al seleccionar un originador."));               
    }       
} 

public void agregarGestor() {
    try {
        if (idNivel != 4) {
            System.out.println("mensajeria: " + mensajeria);
            getGestor().setIdSupervisor(new Integer("" + mensajeria));
        } else {
            getGestor().setIdSupervisor(idSupervisor);                
        }
        /*service.addGestor(getGestor()); 
        FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.FACES_MESSAGES,
                "Exito al agregar el gestor: " + getGestor().getNombre()));
        populateGestores();*/            
    } catch (Exception e) {
        Logger.getLogger(GestoresManagedBean.class.getName()).log(Level.SEVERE, null, e);            
        FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, "ERROR",
                "Ocurrió un error al agregarW el gestor."));               
    }
}

有谁知道为什么我得到验证错误甚至很难我没有使用验证? 提前谢谢。

0 个答案:

没有答案