Passing objects request to request same page

UI Components for JSF
Post Reply
77713777
Posts: 17
Joined: 14 Jul 2010, 21:28
Location: Brasil
Contact:

14 Jul 2010, 22:41

I'am have problem wthi my manageBean.

description of the case.

have one page view. It's have <p:outputPanel>, in outputPanel has one <h:panelGrid> and <h:panelGroup>
in mine <h:panelGrid> input form for capture data my object DAO
in mine <h:panelGroup> show data of database.

Resume my manageBean

Code: Select all

@ManagedBean(name = "users")
@RequestScoped
public class SysControlerUsers extends SysViewControlesAll implements SysViewControlers<SysUsers>, Serializable
{

    // ... other variables
   private SysUsers          user             = new SysUsers();

  public SysControlerUsers(){}

  // metos get and sets
  
  public boolean validObject(ActionEvent event)
    {

          // debug at this point when the "user" object is not null  ... but their are all  attributes yes null
         // seemed to lose the values that came from the form .... or was this form to another object that does not know how to map.
         // even if it does not try to map as it use the request .. but if he followed his JSF lifecycle nomal should capture the overall result
        // is it possible to say that.
           if (SysValidators.validEmpyt(user.getName()))
            {

            }
    }

}
Thanks in advance!

lmmoreira
Posts: 60
Joined: 08 Jul 2010, 14:15

15 Jul 2010, 01:20

Could you post your xhtml please?

So, It is like yout form wasnt posting data to the SysUsers user on bean, right?
Tomcat 7 + jsf-api - 2.0.3-SNAPSHOT + Primefaces 2.1

77713777
Posts: 17
Joined: 14 Jul 2010, 21:28
Location: Brasil
Contact:

15 Jul 2010, 12:59

Code: Select all

<ui:composition xmlns="http://www.w3.org/1999/xhtml" 
                xmlns:ui="http://java.sun.com/jsf/facelets" 
                xmlns:h="http://java.sun.com/jsf/html" 
                xmlns:f="http://java.sun.com/jsf/core" 
                xmlns:p="http://primefaces.prime.com.tr/ui"
                xmlns:c="http://java.sun.com/jstl/core"
                xmlns:i="http://primefaces.prime.com.tr/touch" 
                template="../../templates/sysUi.xhtml">


        <ui:define name="menuTwo">
                <li><a href="papers.jsf">#{msgs.papers }</a></li>
                <li><a href="persons.jsf">#{msgs.persons }</a></li>
                <li><a href="delegateRoles.jsf">#{msgs.delegateRoles }</a></li>
        </ui:define>
        <ui:define name="menuOne">
                <li><a href="users.jsf">#{msgs.users }</a></li>
                <li><a href="groups.jsf">#{msgs.groups }</a></li>
                <li><a href="rules.jsf">#{msgs.rules }</a></li>
        </ui:define>

        <ui:define name="content">
                <f:view id="pagUsers">
                        <p:ajaxStatus onstart="statusDialog.show();" oncomplete="statusDialog.hide();" />
                        <p:dialog modal="true" widgetVar="statusDialog" header="#{msgs.users}" styleClass="dialog" fixedCenter="true" draggable="false" close="false">
                                <h:graphicImage value="../../design/ajaxloadingbar.gif" />
                        </p:dialog>
                        <h1 class="title"><a href="#">#{msgs.welcomeSystem }</a></h1>
        
                        <div class="cssHeader"><h:outputText value="#{msgs.aboutUsers}" /></div>
                        
                        <h:form id="user" prependId="false">                   
                                <p:outputPanel id="panelCadastro" > <!-- Objeto DOM pai filho recebe o rendered -->
                                <div class="comandos">
                                        <h:commandButton value="#{msgs.add }" styleClass="cssBtnAdd"  update="panelCadastro, name" async="true" action="#{users.add }"
                                                   actionListener="#{users.validObject}" >                                
                                                <f:param name="idWrite" value="#{users.userOption }"/>
                                                <f:attribute name="userDados" value="#{users.user }"/>
                                                <!-- <f:setPropertyActionListener target="#{users.user}" value="#{users.user}" /> --> 
                                        </h:commandButton> 
                                        <p:commandButton value="#{msgs.save }"   styleClass="cssBtnSave" update="panelCadastro" async="true" action="#{users.save }" 
                                                actionListener="#{users.validObject}">
                                                <f:param name="idWrite" value="#{users.userOption }"/>
                                        </p:commandButton> 
                                        <p:commandButton value="#{msgs.consult }" styleClass="cssBtnConsult" /> 
                                        <p:commandButton value="#{msgs.delete }" styleClass="cssBtnDel" /> 
                                        <p:commandButton value="#{msgs.print  }" styleClass="cssBtnPrint" />
                                 </div>
                                <p:focus />
                                <h:panelGrid   columns="3" id="panelGridCadastro" rendered="#{users.userOption == 1}">
                                                        
                                        <h:outputLabel for="name" value="#{msgs.name}" styleClass="textLabel" />
                                        <h:inputText id="name" value="#{users.user.name}" styleClass="inputText1" onblur="clearMesgs()" required="true" 
                                                     requiredMessage="#{ msgs.msgStr}" disabled="#{users.userOption != 1}"/>
                                        <h:message for="name" styleClass="mensagem"  />
        
                                        <h:outputLabel for="idemail" value="#{msgs.email}" styleClass="textLabel" />
                                        <h:inputText id="idemail" value="#{users.user.email}" styleClass="inputText1" />
                                        <h:message for="idemail" styleClass="mensagem" />
        
                                        <h:outputLabel for="idphone" value="#{msgs.phone}" styleClass="textLabel" />
                                        <h:inputText id="idphone" value="#{users.user.phone}" styleClass="inputText1" />
                                        <h:message for="idphone" styleClass="mensagem" />
        
                                        <h:outputLabel for="idPass" value="#{msgs.password}" styleClass="textLabel" />
                                        <h:inputSecret id="idPass" value="#{users.user.password}" styleClass="inputText1" />
                                        <h:message for="idPass" styleClass="mensagem" />
        
                                        <h:outputLabel for="Idagain" value="#{msgs.passwordAgain}" styleClass="textLabel" />
                                        <h:inputSecret id="Idagain" value="#{users.password}" styleClass="inputText1" />
                                        <h:message for="Idagain" styleClass="mensagem" />
        
                                        <h:outputLabel for="idactive" value="#{msgs.active}" styleClass="textLabel" />
                                        <h:selectOneMenu id="idactive" styleClass="inputText1" value="#{users.active.id}">
                                                <f:selectItem itemLabel="#{msgs.selectOne }" itemValue="0" />
                                                <f:selectItems value="#{users.listActive}" />
                                        </h:selectOneMenu>
                                        <h:message for="idactive" styleClass="mensagem" />
        
                                        <h:outputLabel for="idgroup" value="#{msgs.group}" styleClass="textLabel" />
                                        <h:selectOneMenu id="idgroup" styleClass="inputText1" value="#{users.group.id}">
                                                <f:selectItem itemLabel="#{msgs.selectOne }" itemValue="0" />
                                                <f:selectItems value="#{users.listGroup}" />
                                        </h:selectOneMenu>
                                         <h:message for="idgroup" styleClass="mensagem" />
                                        <h:outputLabel for="idPagers" value="#{msgs.numberLines}" styleClass="textLabel" />
                                        <h:selectOneMenu id="idPagers" styleClass="inputText1" value="#{users.system.id}">
                                                <f:selectItem itemLabel="#{msgs.selectOne }" itemValue="0" />
                                                <f:selectItems value="#{users.listLines}" />
                                        </h:selectOneMenu>
                                        <h:message for="idPagers" styleClass="mensagem" />
        
                                </h:panelGrid>
                                <p:messages id="msgsAll" showDetail="true" />                                                             
                                <h:panelGroup  id="panelConsult">
                                        <p:dataTable rendered="#{users.userOption == 3}" var="uservar" value="#{users.listObject}" paginator="true" rows="#{users.page}" selectionMode="single" selection="#{users.user}" dynamic="true" update="display" onselectComplete="userDialog.show()"
                                                paginatorTemplate="" styleClass="cssUsers">
                                                <p:column filterStyleClass="trirdPaty" resizable="true" styleClass="trirdPaty33">
                                                        <f:facet name="header">
                                                                <h:outputText value="#{msgs.name}" />
                                                        </f:facet>
                                                        <h:outputText value="#{uservar.name }" />
                                                </p:column>
                                                <p:column filterStyleClass="trirdPaty" resizable="true" styleClass="trirdPaty33">
                                                        <f:facet name="header">
                                                                <h:outputText value="#{msgs.email}" />
                                                        </f:facet>
                                                        <h:outputText value="#{uservar.email }" />
                                                </p:column>
                                                <p:column filterStyleClass="trirdPaty" resizable="true" styleClass="trirdPatyN">
                                                        <f:facet name="header">
                                                                <h:outputText value="#{msgs.phone}" />
                                                        </f:facet>
                                                        <h:outputText value="#{uservar.phone }" />
                                                </p:column>
                                        </p:dataTable>
                                     
                                        <p:column>
                                        <p:panel styleClass="cssCenterLink" id="pageLink" rendered="#{users.userOption == 3}">
                                                <p:commandButton value=""  update="pageLink, tableUsers" async="true" action="#{users.getListObject}" disabled="#{users.currentPage == 1}" styleClass="cssBtnFirst">
                                                        <f:param name="pageOption" value="1" />
                                                        <f:param name="howPage" value="#{users.howPage}" />
                                                        <f:param name="totPage" value="#{users.lastPage}" /> 
                                                </p:commandButton> 
                                                <p:commandButton value=""  update="pageLink, tableUsers" async="true" action="#{users.getListObject}" disabled="#{users.currentPage == 1}" styleClass="cssBtnPrev">
                                                        <f:param name="pageOption" value="#{users.currentPage-1}" />
                                                        <f:param name="howPage" value="#{users.howPage}" />
                                                        <f:param name="totPage" value="#{users.lastPage}" /> 
                                                </p:commandButton>                                  
                                                <h:dataTable var="listLinks" rows="7" value="#{users.pages }" styleClass="tableCssLink">
                                                        <p:column>
                                                                <p:commandLink  async="true"  update="pageLink, tableUsers" rendered="#{users.currentPage != listLinks}" action="#{users.getListObject}">
                                                                        #{listLinks}
                                                                        <f:param name="pageOption" value="#{listLinks}" />
                                                                        <f:param name="howPage" value="#{users.howPage}" />
                                                                        <f:param name="totPage" value="#{users.lastPage}" /> 
                                                                 </p:commandLink>
                                                                <h:outputText rendered="#{users.currentPage == listLinks}">#{listLinks} </h:outputText>
                                                        </p:column>
                                                </h:dataTable> 
                                                <p:commandButton value=""  async="true" update="pageLink, tableUsers" action="#{users.getListObject}" disabled="#{users.currentPage == users.lastPage}" styleClass="cssBtnNext">                                        
                                                        <f:param name="pageOption" value="#{users.currentPage+1}" />
                                                        <f:param name="howPage" value="#{users.howPage}" />
                                                        <f:param name="totPage" value="#{users.lastPage}" /> 
                                                </p:commandButton>
                                                <p:commandButton value=""  async="true" update="pageLink, tableUsers"  action="#{users.getListObject}" disabled="#{users.currentPage == users.lastPage}" styleClass="cssBtnLast">
                                                        <f:param name="pageOption" value="#{users.lastPage}" />
                                                        <f:param name="howPage" value="#{users.howPage}" />  
                                                        <f:param name="totPage" value="#{users.lastPage}" />                                       
                                                </p:commandButton>
                                        </p:panel>
                                        </p:column>
                                        <p:dialog header="#{msgs.aboutUsers }" widgetVar="userDialog" modal="true" fixedCenter="true" draggable="false">
                                                <h:panelGrid id="display" columns="2" columnClasses="left, right">
                
                                                        <h:outputText value="#{msgs.name}" />
                                                        <h:outputText value="#{users.user.name }" style="font-weight:bold" />
                
                                                        <h:outputText value="#{msgs.email}" />
                                                        <h:outputText value="#{users.user.email }" style="font-weight:bold" />
                
                                                        <h:outputText value="#{msgs.phone}" />
                                                        <h:outputText value="#{users.user.phone }" style="font-weight:bold" />
                
                                                        <h:outputText value="#{msgs.group}" />
                                                        <h:outputText value="#{users.user.idGroup.name }" style="font-weight:bold" />
                
                                                        <h:outputText value="#{msgs.description}" />
                                                        <h:outputText value="#{users.user.active.description }" style="font-weight:bold" />
                                                </h:panelGrid>
                                        </p:dialog>
                                 </h:panelGroup>
                                 </p:outputPanel>
                        </h:form>
                </f:view>
        </ui:define>
</ui:composition>
I'm change request my manageBean to
@ManagedBean(name = "users")
@ViewScoped

but then not solved my problem, and build metods
unit and destroy
in metod init() build my objects for my controller
I must be manageable by using Beans parameter to solve this problem?

I use version 2.0.03 JSF and 2.0.2 primeFaces.

I'm trying to solve this problem for almost 2 days.

help me please,
Thank you for devoting your precious time to help me and help the community

Post Reply

Return to “PrimeFaces”

  • Information
  • Who is online

    Users browsing this forum: No registered users and 50 guests