使用 panelGrid 时出现 xhtml 错误

xhtml error when working with panelGrid

提问人:DaianaB 提问时间:2/7/2017 最后编辑:DaianaB 更新时间:2/7/2017 访问量:250

问:

我在 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)]"}}
表单 JSF Primefaces XHTML PanelGrid

评论

0赞 Kukeltje 2/7/2017
你的标题说你得到了一个“错误”(标题太笼统了),但你甚至没有在你的文本中发布什么错误。这样就不可能提供帮助(并且在这里可疑地投票)
0赞 Bilal Dekar 2/7/2017
错误是什么??
0赞 DaianaB 2/7/2017
我现在已经完成了编辑..对不起:)
0赞 Bilal Dekar 2/7/2017
您引用了价值类别列表,而这在拍卖中不存在,请参阅我的回答。
0赞 DaianaB 2/7/2017
他们正在拍卖中。private List<String> + getter 和 setter

答:

0赞 Bilal Dekar 2/7/2017 #1

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

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

value 应该是您定义的类别列表,并将其填写到 managedBean 中:

value="#{newAuctionWizard.categories}"

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

评论

0赞 DaianaB 2/7/2017
做。。它现在说:新的缺失/不满意的依赖项:service jboss.deployment.unit。auctioner-0.0.1-SNAPSHOT.war”。WeldBootstrapService(缺失)依赖项:[service jboss.deployment.unit。auctioner-0.0.1-SNAPSHOT.war“.组件。AuctionManagerImpl.WeldInterceptorBindingsService,服务 jboss.deployment.unit。auctioner-0.0.1-SNAPSHOT.war“.组件。NewAuctionWizard.WeldInstantiator,服务 jboss.deployment.unit。auctioner-0.0.1-SNAPSHOT.war“.组件。UserManagerImpl.WeldInstantiator, 服务
0赞 Bilal Dekar 2/7/2017
此日志与 selectOneRadio 无关
0赞 Bilal Dekar 2/7/2017
你必须把 itemLabel=“#{c}” itemValue=“#{c}”,并确保 auction.category 是一个字符串
0赞 DaianaB 2/7/2017
做。。现在它说: 2017-02-07 15:48:01,479 INFO [org.jboss.as.repository] (ServerService 线程池 -- 60) WFLYDR0011: 无法列出 C:\Users\user\Downloads\wildfly-10.0.0.Final (1)\wildfly-10.0.0.Final\standalone\data\content ...真的不知道发生了什么
0赞 DaianaB 2/7/2017
是的,对不起..它说: SNAPSHOT.war#auctionPersistenceUnit\“: javax.persistence.PersistenceException: [PersistenceUnit: auctionPersistenceUnit] 无法构建 Hibernate SessionFactory 原因: javax.persistence.PersistenceException: [PersistenceUnit: auctionPersistenceUnit] 无法构建 Hibernate SessionFactory 原因: org.hibernate.MappingException: 无法确定类型: java.util.List, 在表: AUCTION, 对于列: [org.hibernate.mapping.Column(categories)]”}}