使用panelGrid时出现xhtml错误

时间:2017-02-07 12:57:53

标签: forms jsf primefaces xhtml panelgrid

我在xhtml中收到错误.. 代码是:

<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元素的命名空间但仍然不能将它包含在panelGrid中..有人能告诉我我做错了什么吗?错误是:

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 个答案:

答案 0 :(得分:0)

根据您的问题,当您尝试添加selectOneRadio时会出现错误, 你使用c作为var然后你把category作为itemLabel,这是错误的,var用于引用你在f:selectItems中显示的对象,所以要定义你必须使用var的标签,如下所示: / p>

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

和value应该是您定义的类别列表,并将其填入managedBean:

value="#{newAuctionWizard.categories}"

检查primefaces:http://www.primefaces.org/showcase/ui/input/oneRadio.xhtml

相关问题