Details

    • Type: Bug
    • Status: Open (View Workflow)
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: 2.3.1.Final
    • Fix Version/s: None
    • Component/s: JSF Controls
    • Labels:
      None

      Description

      Since upgrading to Seam 2.3.x (from 2.2.2), the s:link fragment attribute is ignored.

      Code example:

      <s:link value="#{msg.back}" propagation="none" fragment="article_#{param['samsArticleComponent.showSingleArticle']}">
        <f:param name="samsArticleComponent.page" value="#{param['samsArticleComponent.page']}"/>
      </s:link>
      

      Produces the following href attribute: https://[...]/cms/home.xhtml?samsArticleComponent.page=0

      I noticed changes in org.jboss.seam.ui.util.ViewUrlBuilder.java since 2.2.2:

      Seam 2.2.2
          @Override
          public String getEncodedUrl() {
              return FacesContext.getCurrentInstance().getExternalContext().encodeActionURL(super.getEncodedUrl());
          }
      
      Seam 2.3.1
          @Override
          public String getEncodedUrl() 
          {
             FacesContext facesContext = FacesContext.getCurrentInstance();
             return facesContext.getApplication().getViewHandler().getBookmarkableURL(facesContext, this.viewId, getParametersAsMap(getParameters()), false);
          }
      

      In Seam 2.2.2, super.getEncodedUrl() took care of including the fragment. I guess this got lost when switching to the new method.

        Gliffy Diagrams

          Attachments

            Activity

              People

              • Assignee:
                Unassigned
                Reporter:
                r0b3n Robert Becker
              • Votes:
                0 Vote for this issue
                Watchers:
                1 Start watching this issue

                Dates

                • Created:
                  Updated: