2013-04-29 3 views
0

Привет Я делаю что-то очень просто, но он не работает. Я использую jboss и jsf 2.0. Так что я пытаюсь создать форму, которая показывает некоторые поля в соответствии с выбором от пользователя выпадающего меню, так что я с помощью selectOneMenuПараметры Сбой процесса при выборе

<h:panelGrid columns="2" id="formTaxon"> 
       <h:outputLabel value="Nombre Científico Taxón" for="taxonInput" /> 
       <p:inputText value="#{taxonDM.taxon.nombreCientificoTaxon}" 
        id="taxonInput" /> 
       <h:outputLabel value="Nombre Común" for="nombreComunInput" /> 
       <p:inputText value="#{taxonDM.taxon.nombreComunTaxon}" 
        id="nombreComunInput" /> 
       <h:outputLabel value="Tipo" for="tipoTaxon" /> 
       <p:selectOneMenu id="tipoTaxon" value="#{taxonDM.taxon.tipoTaxon}" 
        name="tipoTaxon"> 
        <f:selectItem itemLabel="Seleccione uno" itemValue="" /> 
        <f:selectItems value="#{tipoTaxonDM.tiposTaxones}" var="txn" 
         itemValue="#{txn.idTipoTaxon}" itemLabel="#{txn.nombreTipo}" /> 
        <f:ajax process="@this" 
         listener="#{taxonController.tipoTaxonesXX}" render="formTaxon" /> 
       </p:selectOneMenu> 
       <p:inputText id="test" val="" /> 
      </h:panelGrid> 

Я также попытался без слушателя первого

Но ничего не работает, Я не получаю какие-либо ошибки на сервере я получаю ошибку, когда я просматриваю сценарии с поджигатель

<?xml version='1.0' encoding='UTF-8'?> 
<partial-response><error><error-name>class java.lang.IllegalStateException</error-name><error-message><![CDATA[Parameters processing failed.]]></error-message></error></partial-response> 

Я тестировал его на JBoss 7.0.2 и 7.1.1 с светлячок. Я читал, что между IE и jboss 7.1.1 была ошибка, связанная с этим, но я думаю, что это не так.

Я также пробовал с h: selectOneMenu вместо p: selectOneMenu. Изменений не было.

ответ

1

Вы привязываете значение своего раскрывающегося списка как taxon.tipoTaxon в <p:selectOneMenu id="tipoTaxon" value="#{taxonDM.taxon.tipoTaxon}">, когда значения элемента idTipoTaxon.

Насколько мы можем получить, первый имеет тип TipoTaxon, а последний имеет тип Integer, скорее всего. Поэтому, когда JSF пытается конвертировать между этими типами, он терпит неудачу.

Вам необходимо либо предусмотреть Converter так, что JSF будет знать, как преобразовать представленные строки в вашей модели объектов (вы можете найти много примеров здесь, на переполнение стека), или связать выпадающий значение как целое, а как value="#{taxonDM.taxon.idTipoTaxon}" ,

+0

Да, я настолько тупой, он имеет больше смысла, я никогда не привязываю значение, прежде чем я, наверное, буду больше читать. –

+0

Добро пожаловать. Чтение и самоисследование - это, безусловно, ключ к успеху. – skuntsel

Смежные вопросы