Pluto
  1. Pluto
  2. PLUTO-440

portlet:actionURL not wrapping portlet:param

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major 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

        Mark Thomas made changes -
        Workflow Default workflow, editable Closed status [ 12564842 ] jira [ 12586381 ]
        Mark Thomas made changes -
        Workflow jira [ 12417629 ] Default workflow, editable Closed status [ 12564842 ]
        Craig Doremus made changes -
        Field Original Value New Value
        Resolution Fixed [ 1 ]
        Fix Version/s 1.1.7 [ 12313344 ]
        Status Open [ 1 ] Closed [ 6 ]
        Hide
        Craig Doremus added a comment -

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

        Show
        Craig Doremus added a comment - Applied change in doStart() return value in SVN rev 701914. Thank you!
        Hide
        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
        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.
        miceuz created issue -

          People

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

            Dates

            • Created:
              Updated:
              Resolved:

              Development