の「更新」属性に正しい ID を設定する際に問題があります
<p:outputPanel>
<h:panelGrid columns="2">
<h:outputText value="#{msg.uploadNewProcessLabel}" />
<h:form id="fileupload">
<p:fileUpload id="fileuploadButton" auto="true"
customUI="true" fileUploadListener="#{processImporter.processFile}"
update=":processes" label="Upload" />
</h:form>
</h:panelGrid>
</p:outputPanel>
<p:outputPanel>
<h:form id="processList">
<p:dataTable id="processes" var="process"
value="#{processDefinitionList}"
paginator="true" rows="10" paginatorAlwaysVisible="false">
次のエラー メッセージが表示されます。
javax.faces.FacesException: Cannot find component with identifier ":processes" referenced from "fileupload:fileuploadButton".
at org.primefaces.util.ComponentUtils.findClientIds(ComponentUtils.java:251)
at org.primefaces.component.fileupload.FileUploadRenderer.encodeScript(FileUploadRenderer.java:113)
at org.primefaces.component.fileupload.FileUploadRenderer.encodeEnd(FileUploadRenderer.java:90)
at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:875)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1786)
at javax.faces.render.Renderer.encodeChildren(Renderer.java:168)
別の回答済みの質問で、「上位レベル」からのスキャンにつながるはずのコンポーネント ID の前に : を付けてヒントを得ました。
これは正確にはどういう意味ですか?UIComponents.findComponent JavaDoc を読みましたが、わかりません...