p:dataList
アイテムのリストを表示するPrimeFacesモバイルビューを開発しているため、使用しています。いずれかのアイテムをクリックするpm:view
と、同じビューの別のビューが表示されます。ただし、選択したアイテムについてBeanに通知する必要があります。
残念ながら、Beanを正常に更新する方法が見つかりませんでした<p:ajax>
。dataTable内で次の例外がスローされます。
<p:ajax> Unable to attach <p:ajax> to non-ClientBehaviorHolder parent
反復要素内での使用<f:setPropertyActionListener>
も、次の理由で失敗します。
<f:setPropertyActionListener> Parent is not of type ActionSource
これは私のコードです:
<pm:view id="instrumentsView" >
<pm:content >
<h:form id="instrumentsList" >
<p:dataList var="instrument" value="#{instrumentBean.subscribedInstruments}" >
<h:outputLink value="#newView" >#{instrument.longName}</h:outputLink>
<f:setPropertyActionListener value="#{instrument}" target="#{instrumentBean.selectedInstrument}" />
</p:dataList>
</h:form>
</pm:content>
</pm:view>
明らかに、私が理解している限り、これらはPrimeFacesモバイルリストでの使用に最適化されたコンポーネントであるため、dataListとoutputLinkを使用しています。しかし、必要に応じて他のオプションを見つけることができます。