I have a backing bean "folderBean" who has a get/setParent(FolderBean b) method for the parent. I have the following code in the first page action method....

       FolderBean parent = new FolderBean();
       parent.setNodeId(nodeId);
       parent.setName(node.getDescription());
       parent.setDescription("TempDescriptionDean");
ValueBinding bind = FacesContext.getCurrentInstance().getApplication().createValueBinding("#{folderBean}");
       FolderBean projBean = (FolderBean)bind.getValue(ctx);
       projBean.setParent(parent);
       projBean.setDescription("testing out");

The second page of the application renders fine and pulls data from both beans(the projBean and parent above). The problem comes when I submit the next page. folderBean and it's data is fine except getParent() is null!!!!! Why is this and how do I work around it. I started with outputText on the folderBean properties. I switched to inputText readonly="true" but this only resulted in model update problems....I believe these update problems were because getParent is null for some reason. I think I have a work around but wanted to understand this better. jsp code for the second page is below also. Below that is my actual FolderBean code. thanks, dean

                   <h:outputText value="#{msgs['parentFolderId']}" />
                   <h:panelGroup>
<h:inputText id="parentNodeId" readonly="true" value="#{folderBean.parent.nodeId}" /> <t:message id="parentNodeIdError" for="parentNodeId" styleClass="error" />
                   </h:panelGroup>
<h:outputText value="#{msgs['parentFolderName']}" />
                   <h:panelGroup>
<h:inputText id="parentName" readonly="true" value="#{folderBean.parent.name}" /> <t:message id="parentNameError" for="parentName" styleClass="error" />
                   </h:panelGroup>
<h:outputText value="#{msgs['parentFolderDescription']}" />
                   <h:panelGroup>
<h:inputText id="parentDesc" readonly="true" value="#{folderBean.parent.description}" /> <t:message id="parentDescError" for="parentDesc" styleClass="error" />
                   </h:panelGroup>
<h:outputLabel for="folderName" value="#{msgs['folderName']}" />
                   <h:panelGroup>
<h:inputText id="folderName" value="#{folderBean.name}" required="true">
                       </h:inputText>
<t:message id="folderNameError" for="folderName" styleClass="error" />
                   </h:panelGroup>

<h:outputLabel for="folderDescription" value="#{msgs['folderDescription']}" />
                   <h:panelGroup>
<h:inputText id="folderDescription" value="#{folderBean.description}" required="true">
                       </h:inputText>
<t:message id="folderDescError" for="folderDescription" styleClass="error" />
                   </h:panelGroup>
<h:panelGroup /> <h:commandButton id="validateButton"
                       value="#{msgs['submitButton']}"
                       action="#{folderBean.submit}" />



public class FolderBean {

private static final Logger log = Logger.getLogger(FolderBean.class.getName()); private FolderBean parent;
   private Long nodeId;
   private String name;
   private String description;
public String getDescription() {
       return description;
   }
   public void setDescription(String description) {
       this.description = description;
   }
   public String getName() {
       return name;
   }
   public void setName(String name) {
       this.name = name;
   }
   public Long getNodeId() {
       return nodeId;
   }
   public void setNodeId(Long nodeId) {
       this.nodeId = nodeId;
   }
   public FolderBean getParent() {
       return parent;
   }
   public void setParent(FolderBean parent) {
       this.parent = parent;
   }
}

Reply via email to