Hi, 
I've run into another weird prob and as I don't see why this happens, I thought posting it:
In a page, I have a Select Menu. The user selects a "Person" from the Menu, and this Person's data are subsequently rendered below this Menu. (well, make that: "should" be rendered :-)
The strange thing is:
Of all the inputText fields (like "currentUser.firstName"), none is rendered. (all of them are inside the panelGrid)
The other data (like the "userRolls" this Person assumes) are correctly rendered. 

(to select a certain user:)
<h:selectOneMenu id="userChooser" title="#{labels.usrMgt_userChooserHelp}" valueChangeListener="#{managerbean.chooseUserTrigger}"
      disabled="#{managerbean.usersdisabled }" onchange="submit()" value="choose_one" >
   <f:selectItem itemLabel="#{labels.usrMgt_chooseUsr}" itemValue="choose_one"/>
   <f:selectItems value="#{managerbean.userKeyMap}"/>
   </h:selectOneMenu>

<td>
(the panel with textInputs that don't render the user data:)
<h:panelGrid bgcolor="SlateGrey" columns="2" id="userTabel1" cellpadding="2" cellspacing="0" width="100%" align="center" columnClasses="labelKolom,inhoudKolom" rowClasses="rij1,rij2">
   <h:outputLabel value="#{labels.usrMgt_firstn}"/>
   <h:inputText value="#{managerbean.currentUser.firstName}" readonly="#{managerbean.editableFieldMode}"/>
...

 

</h:panelGrid>

<h:message for="userTabel1" styleClass="error"/>
</td>

(the panel with data that do get rendered with the user data:)
<h:selectOneMenu id="roleList" title="#{labels.usrMgt_roleListTitle}" value="#{managerbean.oldRollKey}"  style="width:5cm;" readonly="#{managerbean.editableFieldMode}" >
   <f:selectItem itemLabel="#{labels.usrMgt_usrRolls}" itemValue="choose_one"/>
   <f:selectItems value="#{managerbean.userRolls}"/>
    </h:selectOneMenu>


The code for chooseUserTrigger, is 
public void chooseUserTrigger(ValueChangeEvent event){
String gekozenUser= event.getNewValue().toString();
logger.error("The Chosen User, is "+ gekozenUser);
setCurrentUser(getAppMgr().getUsers().get(gekozenUser));
}

Person currentUser is a local var of the backing bean, featuring vars like firstName (String, ... ) nothing special.
I see from the logging the correct user has been passed to the serverside, but I can also see that from the part of the data that gets rendered afterards. 

How would it come this works for all but the inputTexts upon re-rendering the page?
The only difference is "firstName" etc is indirectly referenced, via the bean's local var "currentUser". In the bean, there is a method getUserRolls(), this is a mere pointer to this same local variable (in casu: it returns getCurrentUser().getRollKeys(); )
I triedchanging the "value" of the (id=- userChooser from "choose_one" to "#{managerbean.currentUser.loginName}" but this had no effect...
Btw I also don't get any validation error.
_____________

I've noticed ValueChangeEvents aren't too clean beasts in general. 
Another problem I ran into lately was:
I had a Series of Boolean Checkboxes. Choosing one triggered the contents (= SelectItems) of a Menu next to it. 
I added   & a valueChangeListener to the Checkboxes. 
This made it work in FireFox, but not in Safari (OSX's default browser) I guess that's a Safari bug, yet I wondered whether there was perhaps another way to force its working in another way. 
Has anyone else come across this problem? 


Philippe




Reply via email to