Seam scope problem
zemanel May 5, 2008 4:40 PMHi,
I'm using:
jboss-seam-2.0.1.GA
ICEfaces-1.7.0-bin
jboss-4.2.2.GA
I think this is seam scope related problem:
I created a dataTable on backbean and it works fine, then i created an expandable table on the xhtml page and it works fine, but if i use both at the same time on the same page, they are both rendered but when i try to expand/collapse the expandable table nothing happens unless an exception saying:
09:24:39,878 WARN [lifecycle] executePhase(RESTORE_VIEW 1,com.icesoft.faces.context.BridgeFacesCont
ext@127f2bb) threw exception
javax.el.PropertyNotFoundException: /home.xhtml @25,62 binding="#{tableManager.dataTableContas}": Target Unreachable, identifier 'tableManager' resolved to null
at com.sun.facelets.el.TagValueExpression.setValue(TagValueExpression.java:95)
at com.sun.faces.lifecycle.RestoreViewPhase.doPerComponentActions(RestoreViewPhase.java:244)
at com.sun.faces.lifecycle.RestoreViewPhase.doPerComponentActions(RestoreViewPhase.java:249)
(...)
This is my table created on the tableManager backbean:
<ice:panelGroup>
<ice:dataTable binding="#{tableManager.dataTableContas}">
</ice:dataTable>
</ice:panelGroup>
And this is my table created directly on the .xhtml page:
<ice:panelGroup>
<ice:dataTable id="dataTableTest"
value="#{salesRecordsManager.salesGroupRecordBeans}"
var="salesRecord" columnClasses="expandableTableColumn">
<f:facet name="header">
<ice:columnGroup>
<ice:headerRow>
<ice:column rowspan="3"></ice:column>
<ice:column rowspan="3">teste </ice:column>
</ice:headerRow>
</ice:columnGroup>
</f:facet>
<!-- contract/expand column -->
<ice:column>
<ice:panelGroup styleClass="#{salesRecord.indentStyleClass}">
<!-- Render the expand/contract if there is an image -->
<ice:commandLink id="expandCmdLnk"
actionListener="#{salesRecord.toggleSubGroupAction}">
<ice:graphicImage id="expandContractImage"
value="#{salesRecord.expandContractImage}"
style="border: 0px solid;" />
</ice:commandLink>
</ice:panelGroup>
</ice:column>
<!-- Description column -->
<ice:column>
<ice:panelGroup style="width: 60px;">
<ice:outputText id="description"
value="#{salesRecord.description}" />
</ice:panelGroup>
</ice:column>
</ice:dataTable>
</ice:panelGroup>
I saw some other posts related to binding so i tried to change the scope from CONVERSATION to SESSION/EVENT and it gives me an different exception:
10:40:52,792 WARN [lifecycle] executePhase(RESTORE_VIEW 1,com.icesoft.faces.context.BridgeFacesCont
ext@eb49a5) threw exception
javax.el.PropertyNotFoundException: /home.xhtml @21,85 binding="#{tableManager.dataTableHeader}": Property 'dataTableHeader' not writable on type com.icesoft.faces.component.ext.HtmlDataTable
at com.sun.facelets.el.TagValueExpression.setValue(TagValueExpression.java:95)
at com.sun.faces.lifecycle.RestoreViewPhase.doPerComponentActions(RestoreViewPhase.java:244)
Any idea how to solve this? thanks for any help/tips
Best Regards