All: Thank you for your replies. Of the three ideas I've tried the two most straightforward and unfortunately I don't think they worked. I'm going to try Bruno's idea of using a valueChangeListener next.
If anyone's interested the pages are at http://npgrid.fsu.edu detail: 1) <x:dataTable preserveDataModel = "true" (also tried ="false") This didn't work, and if I understand Slawek's description of preserveDataModel it seems like it does the exact opposite: it prevents the data model from changing. 2) ExternalContext I haven't tried ExternalContext exactly b/c I in my original debugging I examined facesContext() durnig the action method called by the form commandButton, which should give me the request values since I'm logging in phase 5 and the request values should have updated in phase 2. Please correct me if I'm wrong on this. Combinations of facesContext.getViewRoot().getChildren() produced this log: jobVariables sent to user: [a, b, c] /** original strings in model **/ [EMAIL PROTECTED], /**<x:dataTable ...**/ [EMAIL PROTECTED] /** <h:column ... **/ [EMAIL PROTECTED]/** <h:inputText **/ jobVariables received back: [a, b, c] /** should be new values **/ Thanks again and I'll let you know how Bruno's idea works. I've found several posts in various forums asking how to do this with no answers, so maybe I could write a custom inputText component. Regards, Jason

