5 Replies Latest reply on Feb 23, 2009 8:13 PM by matt.drees

    Problem with <s:link> in combination with RichFaces using Safari

    tnfink

      Hi,


      we encounter a strange error using <s:link> in a <rich:dataTable> controlled by a <rich:datascroller> on Safari. The table is used to display a list of users with a link to edit the user in the row. This is the code inside the <rich:column>:



      <s:link id="editPaymentParty"    rendered="#{!paymentParty.deleted}" view="/clerk/editPaymentParty.xhtml">
        <f:param name="userId" value="#{paymentParty.id}" />
        <f:param name="mode" value="edit" />
        <h:graphicImage url="/img/icons/16x16/edit.png" title="#{messages['general.edit']}" style="border: 0pt;" />
      </s:link>"
      



      It works nicely on Firefox. Using Safari it only works on the first page of the data scroller. On any other page an erroneous link is generated, e.g.:


      editPaymentParty.seam?userId=136&#38;mode=edit&%2338;cid=6



      instead of


      editPaymentParty.seam?userId=136&mode=edit&cid=6


      .


      Has anyone any idea about how to fix this?


      Best regards,


        Torsten

        • 1. Re: Problem with <s:link> in combination with RichFaces using Safari

          I've found the same problem with Safari x dataScroller...
          The 1st page works.
          After navigating to other pages, I'm not able to accomplish row selection.


          I'm using seam 1.2 and richfaces 3.2.0.GA


          Exception during request processing: javax.faces.el.EvaluationException: java.lang.NullPointerException


          com.sun.faces.application.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:102)
          org.jboss.seam.actionparam.ActionParamBindingHelper.invokeTheExpression(ActionParamBindingHelper.java:58)
          org.jboss.seam.actionparam.ActionParamMethodBinding.invoke(ActionParamMethodBinding.java:75)
          org.jboss.seam.core.Expressions$2.invoke(Expressions.java:148)
          org.jboss.seam.core.Pages.callAction(Pages.java:499)
          org.jboss.seam.core.Pages.enterPage(Pages.java:282)
          org.jboss.seam.jsf.AbstractSeamPhaseListener.enterPage(AbstractSeamPhaseListener.java:276)
          org.jboss.seam.jsf.AbstractSeamPhaseListener.beforeRender(AbstractSeamPhaseListener.java:214)
          org.jboss.seam.jsf.SeamPhaseListener.beforePhase(SeamPhaseListener.java:56)
          com.sun.faces.lifecycle.Phase.handleBeforePhase(Phase.java:214)
          com.sun.faces.lifecycle.Phase.doPhase(Phase.java:96)
          com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
          javax.faces.webapp.FacesServlet.service(FacesServlet.java:266)
          org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
          org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
          org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:63)
          org.jboss.seam.debug.hot.HotDeployFilter.doFilter(HotDeployFilter.java:60)
          org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:49)
          org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:45)
          org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:49)
          org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:57)
          org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:49)
          org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:79)
          org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:49)
          org.jboss.seam.web.SeamFilter.doFilter(SeamFilter.java:84)

          • 2. Re: Problem with <s:link> in combination with RichFaces using Safari

            In order to support Safari, as a workaround, I changed the s:link for h:commandLink for row selection.

            • 3. Re: Problem with <s:link> in combination with RichFaces using Safari
              tszpinda

              Same problem.
              Using:



              <rich:column>
                   <s:link view="/order.xhtml" value="#{item.code}" >
                        <f:param name="orderCode"           value="#{item.code}"/>
                        <f:param name="orderPrevView"           value="/account.xhtml"/>
                        <f:param name="accountPageContent"      value="orders.xhtml"/>
                        <f:param name="firstResult"           value="#{orderList.firstResult}"/>
                   </s:link>
              </rich:column>





              after redirect my url looks in Safari like:


              /order.seam?orderCode=0809%2F00645&#38;orderPrevView=%2Faccount.xhtml 




              and in Firefox and IE:


              /order.seam?orderCode=0809%2F00645&orderPrevView=%2Faccount.xhtml


              • 4. Re: Problem with <s:link> in combination with RichFaces using Safari

                I am also having this problem - not just within rich:datatable but outside as well.
                Any idea whether the problem is caused by Seam or RichFaces?


                Switching away from s:link and s:button (both cause this problem) is less than ideal as I really like the convenience of the parameter passing and conversation propagation.  Stinks to switch away from using these Seam tags for Safari.


                -Mark

                • 5. Re: Problem with <s:link> in combination with RichFaces using Safari
                  matt.drees

                  For the record, I think this is the appropriate jira, should you want to vote for it: RF-4429