Leyzerzon, Simeon wrote:
Simon,
Not sure if this matters or not, but I'm initializing the facilities via the
following mechanism for now:
Looks ok to me. Bean facilityTable is session-scope which is the
important thing. It's a common mistake to have a request-scoped bean,
then have problems when the data referenced by a table is different on
postback than on render - but that doesn't appear to be the case here.
I've put some logging and it looks like the getters on the facility property of
facilityTable.java are being called, but not the setters:
FacilityTable -> setFacilities() [EMAIL PROTECTED], [EMAIL PROTECTED], [EMAIL
PROTECTED], [EMAIL PROTECTED], [EMAIL PROTECTED], [EMAIL PROTECTED], [EMAIL
PROTECTED], [EMAIL PROTECTED], [EMAIL PROTECTED], [EMAIL PROTECTED]
FacilityTable.java -> getFacility() is called...
FacilityTable.java -> getFacility() is called...
FacilityTable.java -> getFacility() is called...
FacilityTable.java -> getFacility() is called...
FacilityTable.java -> getFacility() is called...
FacilityTable.java -> getFacility() is called...
FacilityTable.java -> getFacility() is called...
FacilityTable.java -> getFacility() is called...
FacilityTable.java -> getFacility() is called...
FacilityTable.java -> getFacility() is called...
FacilityTable.java -> getFacility() is called...
FacilityTable.java -> getFacility() is called...
FacilityTable.java -> getFacility() is called...
FacilityTable.java -> getFacility() is called...
FacilityTable.java -> getFacility() is called...
FacilityTable.java -> getFacility() is called...
FacilityTable.java -> getFacility() is called...
FacilityTable.java -> getFacility() is called...
FacilityTable.java -> getFacility() is called...
<Mar 26, 2007 5:24:32 PM EDT> <Error> <HTTP> <BEA-101017> <[EMAIL PROTECTED] -
appName: 'GISWeb', name: 'GISWeb.war', context-path: '/GISWeb'] Root cause of ServletException.
javax.faces.el.PropertyNotFoundException: Base is null: .facility
at
org.apache.myfaces.el.ValueBindingImpl.resolveToBaseAndProperty(ValueBindingImpl.java:477)
at
org.apache.myfaces.el.ValueBindingImpl.getType(ValueBindingImpl.java:175)
at
org.apache.myfaces.shared_tomahawk.renderkit._SharedRendererUtils.findUIOutputConverter(_SharedRendererUtils.java:58)
at
org.apache.myfaces.shared_tomahawk.renderkit.RendererUtils.findUIOutputConverter(RendererUtils.java:333)
at
org.apache.myfaces.shared_tomahawk.renderkit.RendererUtils.getConvertedUIOutputValue(RendererUtils.java:627)
Truncated. see log file for complete stacktrace
I can clearly see all the data on the screen being populated. setFacility()
never gets called, even when the data changes. In fact
facilityTable.viewFacility() never gets called. Also there are more
getFailitiy() calls then there are facilities. Strange...
I would only expect the setFacility method to be called when the
facilityTable instance is created for the session, ie once for each
user. The get will be called repeatedly, as there are multiple EL
expressions referencing it. As each is evaluated the object is
refetched. So that all seems fine.
I'm a little puzzled by that message "Base is null: .facility". Why is
the dot there I wonder...
Otherwise, though, I can't spot what the problem is here. Sorry.
One thing I did notice is that you are trying to use f:param with
t:commandLink. Does this really update the selectedIndex property of
your backing bean? I would be surprised if it does; try
t:updateActionListener instead.
Regards,
Simon