私はこの "Base is null: item" jsf1.1 エラーをデータテーブルで取得していますが、これはまったく理解できませんでした。これは 2 レベルのデータ テーブルであり、2 番目のレベルのデータ テーブルでエラーが発生しています。第 1 レベルのデータ テーブルは、ArrayList deviceListDeviceReferences の値にバインドされます。このデータテーブルには、別のデータテーブルを含む列があります。この第 2 レベルのデータテーブルは、ArrayList holderNameMasks の値にバインドされます。この値は、基本的に最初のデータテーブルの行項目である DeviceReferenceJTO から取得しました。
以下は、html のスニペットです。
<h:dataTable border="0" cellspacing="0"
value="#{deviceReferenceBean.deviceListDeviceReferences" var="item"
rendered="#{not empty deviceReferenceBean.deviceListDeviceReferences }"
binding="#{deviceReferenceBean.deviceListDeviceReferencesTable}"
>
<h:column>
<h:outputText value="Holder Name:" />
<!-- device heading -->
<h:outputText value="#{item.deviceLabel }" styleClass="DeviceReferenceTitleBarBorder" style="width:100%; height:30px; background-color:#f9f9f9"/>
<!-- holder name -->
<h:panelGrid columns="2" rendered="#{item.hasHolderNameMasks}" >
<h:outputText value="Holder Name:" />
<h:dataTable border="0" cellspacing="0"
value="#{item.holderNameMasks}" var="holderMaskItem"
rendered="#{not empty deviceReferenceBean.deviceListDeviceReferences and item.hasHolderNameMasks}"
binding="#{item.holderNameMasksTable}"
>
<h:column>
<h:outputText value="#{holderMaskItem.fieldLabel}" />
</h:column>
<h:column>
<h:panelGrid columns="1">
<h:inputText value="#{holderMaskItem.fieldValue}" />
<h:outputText value="#{holderMaskItem.instruction }" rendered="#{holderMaskItem.hasInstruction"/>
</h:panelGrid>
</h:column>
</h:dataTable>
</h:panelGrid>
</h:column>
</h:dataTable>
以下は、コンポーネントの外観です。
<HtmlForm enctype="application/x-www-form-urlencoded" id="_idJsp323" rendered="true" styleClass="MAForm" submitted="false" transient="false">
<HtmlDataTable border="0" cellspacing="0" first="0" id="_idJsp324" rendered="#{not empty deviceReferenceBean.deviceListDeviceReferences }=true" rowIndex="-1" rows="0" transient="false" var="item" binding="#{deviceReferenceBean.deviceListDeviceReferencesTable}">
<UIColumn id="_idJsp325" rendered="true" transient="false">
<HtmlOutputText escape="true" id="_idJsp326" rendered="true" style="width:100%; height:30px; background-color:#f9f9f9" styleClass="DeviceReferenceTitleBarBorder" transient="false"/>
<HtmlPanelGrid border="-2147483648" columns="2" id="_idJsp327" rendered="#{item.hasHolderNameMasks}=true" transient="false">
<HtmlOutputText escape="true" id="_idJsp328" rendered="true" transient="false" value="Holder Name:"/>
</HtmlPanelGrid>
</UIColumn>
</HtmlDataTable>
</HtmlForm>