Ошибка xhtml при работе с panelGrid

Я получаю сообщение об ошибке в формате HTML.. код:

<h:form>
  <h:panelGrid columns="2">
    <h:outputLabel value="Name:" />
    <h:inputText value="#{newAuctionWizard.auction.name}" />

    <h:outputLabel value="Description:" />
    <h:inputTextarea value="#{newAuctionWizard.auction.description}" />

    <p:outputLabel for="category" value="Categories from which to pick:" />
    <p:selectOneRadio id="category" value="#{newAuctionWizard.auction.category}"  
     layout="grid" columns="3">
      <f:selectItems value="#{newAuctionWizard.auction.categories}" 
       var="c" itemLabel="#{category}" itemValue="#{category}"/>
    </p:selectOneRadio>

    <h:commandButton value="Cancel" action="#{newAuctionWizard.cancel()}" />    
    <h:commandButton value="Details" action="newAuctionDetails" />  
  </h:panelGrid>

ошибка появилась после включения этого раздела:

 <p:outputLabel for="category" value="Categories from which to pick:" />
   <p:selectOneRadio id="category" value="#{newAuctionWizard.auction.category}"  
   layout="grid" columns="3">
     <f:selectItems value="#{newAuctionWizard.auction.categories}" var="c"
      itemLabel="#{category}" itemValue="#{category}"/>
   </p:selectOneRadio>

Я добавил пространство имен для элемента p, но все еще не могу включить его в панель Grid.. Может кто-нибудь сказать мне, что я делаю неправильно? ошибка:

2017-02-07 14:52:12,275 ERROR [org.jboss.as.controller.management-operation] (DeploymentScanner-threads - 2) WFLYCTL0013: Operation ("deploy") failed - address: ([("deployment" => "auctioner-0.0.1-SNAPSHOT.war")]) - failure description: {"WFLYCTL0080: Failed services" => {"jboss.persistenceunit.\"auctioner-0.0.1-SNAPSHOT.war#auctionPersistenceUnit\"" => "org.jboss.msc.service.StartException in service jboss.persistenceunit.\"auctioner-0.0.1-SNAPSHOT.war#auctionPersistenceUnit\": javax.persistence.PersistenceException: [PersistenceUnit: auctionPersistenceUnit] Unable to build Hibernate SessionFactory
Caused by: javax.persistence.PersistenceException: [PersistenceUnit: auctionPersistenceUnit] Unable to build Hibernate SessionFactory
Caused by: org.hibernate.MappingException: Could not determine type for: java.util.List, at table: AUCTION, for columns: [org.hibernate.mapping.Column(categories)]"}}

1 ответ

Согласно вашему вопросу ошибка появляется, когда вы пытаетесь добавить selectOneRadio, вы используете c как var, а затем вы помещаете категорию в качестве itemLabel, и это неправильно, var используется для ссылки на объект, который вы показываете в f:selectItems, так что определите метки, которые вы должны использовать var, примерно так:

itemLabel="#{c}"
itemValue="#{c}"

и значение должно быть списком категорий, которые вы определяете, и заполнить его в managedBean:

value="#{newAuctionWizard.categories}"

проверьте основные лица: http://www.primefaces.org/showcase/ui/input/oneRadio.xhtml

Другие вопросы по тегам