Uploaded image for project: 'Pluto'
  1. Pluto
  2. PLUTO-440

portlet:actionURL not wrapping portlet:param

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 1.1.4
    • Fix Version/s: 1.1.7
    • Labels:
      None
    • Environment:
      springframework 2.5 freemarker 2.3.8

      Description

      i'm not sure if it's general portlet taglib issue or just related to freemarker.

      i'm importing taglib to freemarker via: <#assign portlet=JspTaglibs["/WEB-INF/portlet.tld"]>

      then i use portlet tags in my template:
      <@portlet.actionURL><@portlet.param name="action" value="history"/></@portlet.actionURL>

      i get just action url without the parameter being appended.

      pluto-taglib/src/main/java/org/apache/pluto/tags/BasicURLTag.java doStartTag() method returns EVAL_PAGE, if i change this to EVAL_BODY_INCLUDE, suddenly tag starts to work ok - ie parameters get appended to the url.

      i'm not a jsp developer and don't know anything about tablib programming so i'm not sure if this fix is valid one.

        Activity

        Hide
        cdoremus Craig Doremus added a comment -

        Applied change in doStart() return value in SVN rev 701914. Thank you!

        Show
        cdoremus Craig Doremus added a comment - Applied change in doStart() return value in SVN rev 701914. Thank you!
        Hide
        real_vg Vladimir Grichina added a comment -

        I also experienced this problem. Actually from javadoc for EVAL_PAGE:

        EVAL_PAGE

        static final int EVAL_PAGE

        Continue evaluating the page. Valid return value for doEndTag().

        So returning EVAL_PAGE in doStartTag() is obviously incorrect. Probably some JSP implementations treat such value as a command to process the body of the tag and so it works well. However Freemarker interprets it as an instruction to skip the body of the tag.

        However anyway, according to standard doStartTag() should return EVAL_BODY_INCLUDE to indicate that the body of the tag should be processed.

        Show
        real_vg Vladimir Grichina added a comment - I also experienced this problem. Actually from javadoc for EVAL_PAGE: EVAL_PAGE static final int EVAL_PAGE Continue evaluating the page. Valid return value for doEndTag(). So returning EVAL_PAGE in doStartTag() is obviously incorrect. Probably some JSP implementations treat such value as a command to process the body of the tag and so it works well. However Freemarker interprets it as an instruction to skip the body of the tag. However anyway, according to standard doStartTag() should return EVAL_BODY_INCLUDE to indicate that the body of the tag should be processed.

          People

          • Assignee:
            Unassigned
            Reporter:
            miceuz miceuz
          • Votes:
            2 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development