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>

我也试过没有听者先

但是没有任何效果,我在服务器上没有收到任何错误当我使用 firebug 检查脚本时出现错误

<?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>

我在带有 Firefox 的 jboss 7.0.2 和 7.1.1 上对其进行了测试。我读到 IE 和 jboss 7.1.1 之间存在与此相关的错误,但我想情况并非如此。

我还尝试使用 h:selectOneMenu 而不是 p:selectOneMenu。没有变化。

4

1 回答 1

1

当项目值为 时,您将下拉框的值绑定为taxon.tipoTaxonin 。<p:selectOneMenu id="tipoTaxon" value="#{taxonDM.taxon.tipoTaxon}">idTipoTaxon

据我们所知,前者很可能TipoTaxon是 type ,而后者很Integer可能是 type 。因此,当 JSF 尝试在这些类型之间进行转换时,它会失败。

您需要提供一个Converter,以便 JSF 知道如何将提交的字符串转换为您的模型对象(您可以在 Stack Overflow 上找到许多示例),或者将下拉值绑定为整数以及value="#{taxonDM.taxon.idTipoTaxon}".

于 2013-04-29T21:56:30.160 回答