現在のプロジェクトでは<h:selectOneMenu>
をPrimefacesの<p:autocomplete>
に置き換えたいと考えています。選択項目は、Pojos(JPA Entities)のリストです。 primefaces showcasesで与えられた例との違いは、私たちが選択値としてエンティティの主キーのプロパティ(id)をしたいということであり、それは簡単にビューのparamとして渡すことができます。PrimefacesオートコンプリートをPOJOリストとPOJOのプロパティで選択値として使用する方法
<f:metadata>
<f:viewParam name="playerId" value="#{playerPreRenderViewListener.searchCriteria.playerId}" />
<f:viewParam name="year" value="#{playerPreRenderViewListener.searchCriteria.year}" />
</f:metadata>
<h:form>
<h:inputText value="#{playerPreRenderViewListener.searchCriteria.year}"/>
<p:autoComplete var="player" itemLabel="#{player.name}" itemValue="#{player.id}"
completeMethod="#{playerBean.completePlayer}" forceSelection="true"
converter="#{playerConverter}"
value="#{playerPreRenderViewListener.searchCriteria.playerId}">
</p:autoComplete>
<h:commandButton value="Submit" action="showTeam?faces-redirect=true&includeViewParams=true" />
</h:form>
残念なことに例
ITEMLABEL = "#{player.name}":上記PropertyNotFoundExceptionにつながるプロパティ 'name' はタイプがjava.lang.Long」
P上に見つかりませんvar
属性のタイプがLong
であり、Player
ではないという問題があります。それは<f:selectItems>
と連携して動作し、簡単な<h:selectMenu>
を使用する場合:
<f:selectItems var="player" value="#{playerBean.listPlayers}" itemLabel="#{player.name}" itemValue="#{player.id}" />
誰がこの問題に対処する方法を知っていますか?
プレーヤーのコンバーターのコードスニペットを提供できますか?私は同じ問題に遭遇し、これのためにコンバータを使用したい。 – CSchulz