5 Replies Latest reply on Apr 8, 2008 6:20 AM by Thomas Barry

    Re-render problem with <f:param> in <s:link>

    Thomas Barry Newbie

      I'm having trouble with <s:link> rendering parameters correctly after an ajax rerender.  Here's some sample
      XHTML:


      <h:form id="theForm">
      
        <a:outputPanel id="thePanel">
          <h:dataTable id="employees" value="#{employees}" var="e">
            <h:column>
              <f:facet name="header">Last Name</f:facet>
              <h:outputText value="#{e.lastName}"/>
            </h:column>
            <h:column>
              <f:facet name="header">Link</f:facet>
              <s:link id="test" view="/home.xhtml">
                <h:outputText value="Link"/>
                <f:param name="empId" value="#{e.id}"/>
              </s:link>
            </h:column>
          </h:dataTable>
        </a:outputPanel>
      
      <a:commandLink action="#{testAction.doAction}" 
         reRender="thePanel" value="Test Link"/>
      
      </h:form>



      Before making the AJAX request, the URL is rendered correctly:


      http://localhost:8080/sandbox/home.seam?empId=100&cid=11


      but after the outputPanel is re-rendered, the URL becomes:


      http://localhost:8080/sandbox/home.seam?empId=100&cid=13


      Can someone tell me where that & in the parameter is coming from, and how to get rid of it?  Curiously, the rendering problem doesn't exhibit if you add propagation="none" to the <s:link> tag.


      This is happening in 2.0.1.CR and 2.0.2.GA


      Thanks...