Uploaded image for project: 'Tapestry'
  1. Tapestry
  2. TAPESTRY-2483

The '%' symbol passed to RenderSupport.addScript() is treated as a formatting directive, causing errors

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 5.0.13
    • 5.0.14
    • Core Components
    • None

    Description

      Tapestry throws a Render queue error when the addScript contains the @ symbol.

      The @ symbol is converted to
      %40 and the following script is added with addScript:

      new pageLinkPopup("pagelinkpopup", "user/edit/m.brinkers%40pobox.com",
      "edit user", "width=600,height=300");

      But, this results in:

      Render queue error in BeginRender[Users:pagelinkpopup]: Conversion = 'p'

      Stack trace

      • java.util.Formatter
        $FormatSpecifier.conversion(Formatter.java:2605)
      • java.util.Formatter
        $FormatSpecifier.<init>(Formatter.java:2633)
      • java.util.Formatter.parse(Formatter.java:2479)
      • java.util.Formatter.format(Formatter.java:2413)
      • java.util.Formatter.format(Formatter.java:2366)
      • java.lang.String.format(String.java:2770)
      • org.apache.tapestry5.internal.services.RenderSupportImpl.addScript(RenderSupportImpl.java:129)

      Attachments

        Activity

          People

            hlship Howard Lewis Ship
            martijn_brinkers Martijn Brinkers
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: