3 Replies Latest reply on Mar 5, 2013 1:52 PM by jadtn

    [RF4.3.1CR1] Navigation regression passing RF4.3.0Final to RF4.3.1CR1

    jadtn

      Hi

      I've notice a regression(?) on my application when i use RF4.3.1.CR1 (all works fine with rf4.3.0Final).

      I've a login page and I'm never redirected after login process. I suspect the xml returned is not complete there is no end tag </partial-response>

      (response from chrome dev tools)

      <?xml version='1.0' encoding='UTF-8'?>

      <partial-response><redirect url="/pages/m/member.jsf"></redirect>


      So I m interresting to know if someone had also similar problem? Or if someone know if RF4.3.1CR1 can affect navigation?

       

       

      I'm using JBOSS7.1.1final and tested with 2 configurations:

      a) with jboss-jsf-api_2.1_spec-2.0.5.Final.jar /jsf-impl-2.1.12-jbossorg-1.jar

      b)and (copyied from AS 8 night build)jboss-jsf-api_2.1_spec-2.1.18.Final.jar/jsf-impl-2.1.18-jbossorg-1.jar

       

      My xhtml is like this (I ve tested also with a4j:commandbutton work rf4.3.0 not with CR1):

      {code:xml}

      <ui:composition xmlns="http://www.w3.org/1999/xhtml"

                xmlns:f="http://java.sun.com/jsf/core"

                xmlns:h="http://java.sun.com/jsf/html"

                xmlns:a4j="http://richfaces.org/a4j"

                xmlns:ui="http://java.sun.com/jsf/facelets"

                >

      <div >

                          <h:form id="loginform"  >

                                                                  <h:outputLabel  for="username"  value="D&#233;j&#224; membre? " />

                                                                  <h:inputText id="username" value="#{ctrlLoginB.user.j_username}" size="12" required="true" />

                                                                  <label>Mot          de passe</label>

                                                                  <h:inputSecret id="jpwd" value="#{ctrlLoginB.user.j_password}" size="8" required="true">

                                                                  <f:validator validatorId="loginBlockProxyValidator" />

                                                                  </h:inputSecret>

                                                                  <h:commandButton execute="@form" id="log"  alt="Entrer sur le site de rencontre." styleClass="btn  btn-primary  btn-mini-login"   value="Entrer" action="#{ctrlLoginB.login}" >

                                                                            <f:ajax execute="@form" render="@form" />

                                                                  </h:commandButton>

                                                                            <h:commandButton id="hidden" style="visibility: hidden;" action="#{ctrlLoginB.login}" />

                                                                  <h:outputText rendered="#{param.expired == 'true'}" value="Session expir&#233;e, re-essayez." styleClass="error" escape="false"/>

                                                                  <a id="lp" href="/pages/pub/lostpwd.jsf" target="_blank" >Oubli&#233;&#63;</a>

                                                                  <a4j:outputPanel ajaxRendered="true">

                                                                  <h:message id="ermsg" for="loginform:username"  styleClass="h-msg-err" />

                                                                   <h:message id="ermsgp" for="loginform:jpwd"  styleClass="h-msg-err" />

                                                                  </a4j:outputPanel> 

                                                        </h:form>  

      </div>                               

      </ui:composition>

      {code:xml}

       

      My login

      @ManagedBean("ctrlLoginB")

      @SessionScoped

       

      {code}

      public String login() {

                          if (log.isDebugEnabled()) {

                                    log.debug("login" + user.getJ_username());

                          }

      FacesContext context = FacesContext.getCurrentInstance();

                           HttpServletRequest request = (HttpServletRequest) context

                       .getExternalContext().getRequest();

                           try {

                                    request.login("usertest", "usertest"); //pass always,

                                    r="to_home"

                          } catch (ServletException e) {

                                    // TODO Auto-generated catch block

                                    e.printStackTrace();

                          }

                           System.out.println("??????????????????????? ->"+r);

                           return r;

                }

      {code}

       

      my navigation case

      {code:xml} <navigation-case>

         <from-outcome>to_home</from-outcome>

         <to-view-id>/pages/m/member.xhtml</to-view-id>

         <redirect/>

        </navigation-case>

      {code:xml}

       

      Thanks

      Adrien