1 2 3 Previous Next 37 Replies Latest reply on Feb 4, 2009 6:36 AM by Ilya Shaikovsky

    Problems with a4j:commandLink, paging forwarding and IE7

    Gustavo Ehrhardt Newbie

      Hi there.

      I'm experiencing some problems when I use ajax forms on IE7.
      My page basically use an a4j:commandLink with some action attribute. This action is described on my faces-config.xml to FORWARD to another page.
      It works normally on Firefox and IE6, but doesn't works just on IE7.

      The problem don't occurs when changing my navigation rule to REDIRECT to another page. But I couldn't use request scope to my beans (I'm using a4j:KeepAlive).

      Any Ideas?

      Environment:
      Mojarra 1.2_07 (RI) or MyFaces 1.1.6
      RichFaces 3.2.1 GA or 3.1.6 GA
      Tomcat 6.0.14 or 5.5.26

      []'s
      Gustavo Ehrhardt

        • 1. Re: Problems with a4j:commandLink, paging forwarding and IE7
          Phil Wilson Apprentice

          I have the same issue here..

          Let me know if you run into a fix.

          My system is using.

          jsf-api_1_2.jar = ${maven.repo}/jsf/mojarra-1.2_09-b01-BETA1/lib/jsf-api.jar
          jsf-impl_1_2.jar = ${maven.repo}/jsf/mojarra-1.2_09-b01-BETA1/lib/jsf-impl.jar


          RichFaceApi_3_2.jar = ${maven.repo}/richFacesAjax/jars/richfaces_3_2_1_GA/richfaces-ui-3.2.1.GA/lib/richfaces-api-3.2.1.GA.jar
          RichFaceImpl_3_2.jar = ${maven.repo}/richFacesAjax/jars/richfaces_3_2_1_GA/richfaces-ui-3.2.1.GA/lib/richfaces-impl-3.2.1.GA.jar
          RichFaceUi_3_2.jar = ${maven.repo}/richFacesAjax/jars/richfaces_3_2_1_GA/richfaces-ui-3.2.1.GA/lib/richfaces-ui-3.2.1.GA.jar


          tomcat.home60=C:/Program Files/Apache Software Foundation/Tomcat 6.0/webapps


          check out my message.

          http://jboss.com/index.html?module=bb&op=viewtopic&t=137105&postdays=0&postorder=asc&start=10

          Thanks
          Phil




          Thanks
          Phil

          • 2. Re: Problems with a4j:commandLink, paging forwarding and IE7
            Anderson Aroeira Araujo Newbie

            Hi guys,

            I have the same issue too.

            My configuration:

            FACELETS 1.1.14
            JSF RI 1.2.04
            RICHFACES 3.2.1

            I put the a4j:log in the page to see what's in going on:

            In the FIREFOX (RC 3) works fine but not in IE 7.

            The a4j:log output for this a4j:commandLink:

             <h:form>
             <rich:toolBar height="29">
             <a4j:commandLink status="status"
             immediate="true"
             action="#{pacienteController.createSetup}"
             styleClass="link">
             <h:graphicImage id="giVoltar" value="/images/document-new.png"/>
             <h:outputText value=" #{bundle.botaoNovoPaciente}" />
             </a4j:commandLink>
             </rich:toolBar>
             </h:form>
            




            IN IE7:
            Have Event [object Object] with properties: target: undefined, srcElement: http://localhost:8080/InfraREGWEBNG/protected/pacientes/pacientes.jsf#, type: click
            
            error[10:51:34,828]: Error to clear node content by innerHTML
            


            IN FIREFOX 3:
            Have Event [object Object] with properties: target: http://localhost:8080/InfraREGWEBNG/protected/pacientes/pacientes.jsf#, srcElement: undefined, type: click
            


            The TARGET and the SOURCE-ELEMENT differs.

            In the previous versions of RICHFACES, the A4J:COMMANDLINK and the REDIRECT was working fine.

            Thanks in advance

            • 3. Re: Problems with a4j:commandLink, paging forwarding and IE7
              Phil Wilson Apprentice

              Hi aaroeiraa,

              Thanks for the feedback...
              you noted:
              "The a4j:log output for this a4j:commandLink"

              I did not know that function. Where do you put that in the page? Very cool testing output...thanks

              Phil

              • 4. Re: Problems with a4j:commandLink, paging forwarding and IE7
                Gustavo Ehrhardt Newbie

                Just a tip:
                a4j:htmlCommandLink works correctly on IE6, IE7 and FF.
                But there's no ajax request processed.

                []'s
                Gustavo Ehrhardt

                • 5. Re: Problems with a4j:commandLink, paging forwarding and IE7
                  Anderson Aroeira Araujo Newbie

                  Hi guys,

                  nohacks:

                  In the RICHFACESLIVE DEMO exists, in the section ajax misc... LOG.

                  gus.ehr:

                  They don't work for me. I use the a4j:commandLink with backingbean e and REDIRECT.

                  In the FF works not in IE7.

                  Please, help gus.!

                  Thanks

                  • 6. Re: Problems with a4j:commandLink, paging forwarding and IE7
                    Phil Wilson Apprentice

                    Hey aaroeiraa,

                    Me too...This is the code I have that does not work in IE7 but works in FireFox.

                    <rich:panel>
                    
                    <rich:dataGrid id="membersZip" value="#{membersInZipcode.arrayListOfSearch4Member}"
                    var="membersZip" columns="5" elements="10" >
                    
                    <rich:panel styleClass="phil" id="memberGridWelcome" style="padding: 1px 3px 2px 3px; " >
                    <rich:effect event="onclick" type="Highlight" params="duration:1.0" />
                    <rich:effect event="onclick" for="memberGridWelcome" type="Appear" params="delay:0.1,duration:0.9" />
                    
                    <f:facet name="header" >
                    <h:outputText value="#{welcomeMembersZip.userName}" ></h:outputText>
                    </f:facet>
                    <h:panelGrid columns="1">
                    
                    
                    <a4j:commandLink styleClass="phil" action="go_memberViewed" actionListener="#{memberViewForm.getMemberInfoAttrib}" immediate="true">
                    <a4j:actionparam id="memberId_str" name="memberId_str" value="#{membersZip.memberId_str}"
                    assignTo="#{welcomeMembersZip.memberId_str}"></a4j:actionparam>
                    
                    </a4j:commandLink>
                    </h:panelGrid>
                    </rich:panel>
                    
                    </rich:dataGrid>
                    
                    </rich:panel>
                    
                    
                    
                    
                    =====================================
                    faces-config
                    ===========
                    
                    <navigation-rule>
                    <navigation-case>
                    <from-outcome>go_memberViewed</from-outcome>
                    <to-view-id>/welcomeMemberProfileView.jsp</to-view-id>
                    </navigation-case>
                    </navigation-rule>
                    
                    =================
                    



                    I put a
                    <redirect/>
                    in the faces-config and then it works but does not load the bean with current values.

                    Phil


                    • 7. Re: Problems with a4j:commandLink, paging forwarding and IE7
                      Gustavo Ehrhardt Newbie

                      The a4j:htmlCommandLink doesn't make ajax request (and doesn't apply the ajax response to the page :) ), so I think that a4j:actionparam won't work correctly.

                      If you want to send property values to managed beans, you can use the f:setPropertyActionListener (only JSF 1.2) or the tomahawk t:updateActionListener.

                      That worked to me on IE6, IE7 and FF, but the a4j:commandLink and a4j:commandButton still not working on page FORWARD.

                       <a4j:form id="frmUserCrud" status="status">
                       <rich:dataTable value="#{userCrudBean.users}" var="user">
                       <rich:column>
                       <f:facet name="header">
                       <h:outputText value="Name" />
                       </f:facet>
                       <a4j:htmlCommandLink action="edit">
                       <h:outputText id="name" value="#{user.name}" />
                       <f:setPropertyActionListener value="#{user}" target="#{userBean.user}" />
                       </a4j:htmlCommandLink>
                       </rich:column>
                       </rich:dataTable>
                       </a4j:form>
                      


                      • 8. Re: Problems with a4j:commandLink, paging forwarding and IE7
                        Anderson Aroeira Araujo Newbie

                        Hi again guys,

                        gus.her:

                        You right man.


                        nohacks:

                        my code snipt is simplier than yours. I want a simple REDIRECT based in the OUTCOME of the backingbean.


                        This is a BUG in a4j:commandLink ?

                        How to report this bug?

                        The workaround for this bug is change a4j:commandLink for h:commandLink, but we lose STATUS and another fancy AJAX things.

                        • 9. Re: Problems with a4j:commandLink, paging forwarding and IE7
                          Phil Wilson Apprentice

                          Hi aaroeiraa,

                          You said...

                          This is a BUG in a4j:commandLink ?


                          I get this error with h:commandLink or a4j:commandLink in IE7.

                          My code just uses ..action to redirect actionListener to call method.

                          Either way this is something going on here...might be a bug..dont know yet..I am still testing.

                          Thanks

                          Phil

                          • 10. Re: Problems with a4j:commandLink, paging forwarding and IE7
                            Gustavo Ehrhardt Newbie

                            @nohacks

                            You can use the action attribute to call some Java method:

                             <a4j:form id="frmUserCrud" status="status">
                             <rich:dataTable value="#{userCrudBean.users}" var="user">
                             <rich:column>
                             <f:facet name="header">
                             <h:outputText value="Name" />
                             </f:facet>
                             <a4j:htmlCommandLink action="#{userBean.editAction}">
                             <h:outputText id="name" value="#{user.name}" />
                             <f:setPropertyActionListener value="#{user}" target="#{userBean.user}" />
                             </a4j:htmlCommandLink>
                             </rich:column>
                             </rich:dataTable>
                             </a4j:form>
                            


                            And in UserBean Java class you must have this method:

                            public String editAction() {
                             return "edit";
                            }
                            


                            See that the return String on editAction() must be declared on a navigation rule to redirect (or forward) to another page.

                            • 11. Re: Problems with a4j:commandLink, paging forwarding and IE7
                              Phil Wilson Apprentice

                              Hi Gus,

                              Thanks for your reply.

                              I was wonders why my code works on FireFox and not on IE 7.

                              2. I am trying your approach and it does work. I was using the

                              public String getMemberInfoAttrib(ActionEvent event) {


                              and
                              <a4j:commandLink styleClass="phil" action="go_memberViewed" actionListener="#{memberViewForm.getMemberInfoAttrib}" immediate="true">
                              <a4j:actionparam id="memberId_str" name="memberId_str" value="#{membersZip.memberId_str}"
                              assignTo="#{welcomeMembersZip.memberId_str}"></a4j:actionparam>


                              I don't think the action lets me do this approach. How would I pass the,ActionEvent event, parms back with the actionparam. This was a good approach for us becuase it allowed us to setup a generic method and get the id from a4j:actionparam and cast a value from the value and assignTo.

                              Any chance in them fixing this issue?

                              Phil


                              • 12. Re: Problems with a4j:commandLink, paging forwarding and IE7
                                Phil Wilson Apprentice

                                One more good point about this is...

                                The action pointed to a redirect in the jsp.

                                This made it easy to setup generic redirects and only change them on one place if updates are needed. That would be the faces-config. Instead of running thru the methods to find the return. We have lots of command buttons that return to the same page and it is nice to have just one place to manage that function.


                                
                                <a4j:commandLink styleClass="phil" action="go_memberViewed" actionListener="#{memberViewForm.getMemberInfoAttrib}" immediate="true">
                                <a4j:actionparam id="memberId_str" name="memberId_str" value="#{membersZip.memberId_str}"
                                assignTo="#{welcomeMembersZip.memberId_str}"></a4j:actionparam>
                                
                                ===========
                                faces-config
                                ===========
                                
                                <navigation-rule>
                                <navigation-case>
                                <from-outcome>go_memberViewed</from-outcome>
                                <to-view-id>/welcomeMemberProfileView.jsp</to-view-id>
                                </navigation-case>
                                </navigation-rule>
                                
                                ============


                                • 13. Re: Problems with a4j:commandLink, paging forwarding and IE7
                                  Phil Wilson Apprentice

                                  Hi gus.ehr,

                                  I just tried your way and it does not work for me on IE 7.

                                  Method is called from action. I have system prints to show it. Just does not do a redirect to next jsp.

                                  Any ideal?

                                  Phil



                                  1 2 3 Previous Next