I'm not sure what variable you are talking about. Do you mean "currentSetting"? There is no "currentSettings" variable. If so, currentSetting is the variable set by the ajaxformloop so there is nothing for me to initialize there.
On Mon, Jul 11, 2011 at 12:04 PM, Taha Hafeez <tawus.tapes...@gmail.com>wrote: > My first question was where have you initialized currentSettings. Say you > have initialized it in onPrepare(), then during an ajax call, this method > is > not called and so currentSettings is not initialized for that request. If > you are setting it in setupRender() of the main component, then as only an > internal zone is updated, setupRender() or beginRender() of main > component/page are not called for ajax update of an internal zone. > > So you have to be careful about where you setup currentSettings and whether > that phase is called during ajax update. In case it is not, then you have > to > keep the variable in session so that you can use it across multiple > requests. > > regards > Taha > > > On Mon, Jul 11, 2011 at 10:17 PM, Ray Nicholus <rnicho...@widen.com> > wrote: > > > Hello Taha, > > > > I guess I'm confused about why I need to worry about any of this. > Without > > the zone parameter, I have no problem changing values of my selects. > > However, I need the zone so that I can change the available options in > the > > 2nd select after the value changes in the first select. Shouldn't I just > > be > > able to refresh the 2nd select via a zone update? > > > > On Mon, Jul 11, 2011 at 11:26 AM, Taha Hafeez <tawus.tapes...@gmail.com > > >wrote: > > > > > Hi Ray, > > > > > > Where are you initializing currentSetting.fileMetadataTyp?e and is this > > > value @Persisted as you are using it across multiple requests. > > > > > > regards > > > Taha > > > > > > On Mon, Jul 11, 2011 at 9:19 PM, Ray Nicholus <rnicho...@widen.com> > > wrote: > > > > > > > Here is a fragment of some template code inside of a tapestry form: > > > > > > > > <t:ajaxformloop t:id="existingAutoImportSettings" > > > source="existingSettings" > > > > value="currentSetting"> > > > > <t:label for="typeSelect"/> > > > > <t:select t:id="typeSelect" zone="fileMetadataSelectZone" > > > > value="currentSetting.fileMetadataType" label="${message:type}"/> > > > > > > > > <t:zone t:id="fileMetadataSelectZone"> > > > > <t:label for="fileMetadataSelect"/> > > > > <t:select t:id="fileMetadataSelect" > > > > value="currentSetting.fileMetadataObject" > > > > model="autoImportFileMetadataModel" > label="${message:file-metadata}"/> > > > > </t:zone> > > > > > > > > .......... > > > > > > > > </t:ajaxformloop> > > > > > > > > <input type="submit" value="Update"/> > > > > > > > > > > > > As soon as I add the zone parameter to the 1st select & reload, I get > a > > > NPE > > > > when I attempt to change the value in the 1st select. It claims that > > the > > > > currentSetting value is null when attempting to evaluate > > > > currentSetting.fileMetadataType. > > > > > > > > What am I doing wrong? > > > > > > > > > >