Details

    • Type: Bug Bug
    • Status: Open
    • Priority: Minor Minor
    • Resolution: Unresolved
    • Affects Version/s: 2.0
    • Fix Version/s: None
    • Component/s: Uncategorized
    • Labels:
      None
    • Environment:

      Operating System: All
      Platform: All

    • Issuezilla Id:
      493
    • Status Whiteboard:
      Hide

      EGTop5 size_medium importance_medium draft

      Show
      EGTop5 size_medium importance_medium draft

      Description

      I recently raised an issue against Mojarra...

      https://javaserverfaces.dev.java.net/issues/show_bug.cgi?id=813

      ...which turned out to be, according to Ryan...

      "There are two different ELContext instances in play when using JSP/JSF. The
      ELContext provided by the JSP runtime includes a FunctionMapper... The
      ELContext provided by Faces [does not]. JSF has no requirement by the
      specification to parse the TLD to provide a FunctionMapper for the second case."

      This means you cannot programmatically create ValueExpressions that use
      functions...

      createValueExpression( elContext, "#

      {ss:bar()}

      "

      ...even if those functions are declared on the same page. See the linked
      Mojarra bug for a test case.

      If the 'unified EL' were unified such that both JSP and JSF used the same
      ELContext, this problem may be resolved. This fix would help
      http://metawidget.org, which does a lot of programmatic ValueExpression
      creation.

        Activity

        Hide
        pmuir added a comment -

        This is a JBoss top 5 issue

        Show
        pmuir added a comment - This is a JBoss top 5 issue
        Hide
        Ed Burns added a comment -

        Change target milestone to 2.0

        Show
        Ed Burns added a comment - Change target milestone to 2.0
        Hide
        Ed Burns added a comment -

        I assert now that method invocation works, you don't need this.

        Show
        Ed Burns added a comment - I assert now that method invocation works, you don't need this.
        Hide
        kennardconsulting added a comment -

        The 'need' for this is less about functionality (there have always been
        workarounds) and more about 'not surprising the user'. In terms of 'not
        surprising the user' the need is not changed by the (welcome) addition of
        method invocation.

        Let me explain. Even with method invocation, the user is still able to declare
        a namespace and write EL expressions in their pages like this...

        <h:outputText value="#

        {ss:bar()}

        "/>

        The problem is if I try to write a custom JSF component that needs to do a bit
        of processing on the value expression, and my component internally tries to
        do...

        createValueExpression( elContext, "#

        {ss:bar()}

        " )

        ...then it won't work. The exact same expression that the user passed in to my
        component cannot be manipulated by my component internally.

        Please reconsider the WONTFIX.

        Regards,

        Richard

        Show
        kennardconsulting added a comment - The 'need' for this is less about functionality (there have always been workarounds) and more about 'not surprising the user'. In terms of 'not surprising the user' the need is not changed by the (welcome) addition of method invocation. Let me explain. Even with method invocation, the user is still able to declare a namespace and write EL expressions in their pages like this... <h:outputText value="# {ss:bar()} "/> The problem is if I try to write a custom JSF component that needs to do a bit of processing on the value expression, and my component internally tries to do... createValueExpression( elContext, "# {ss:bar()} " ) ...then it won't work. The exact same expression that the user passed in to my component cannot be manipulated by my component internally. Please reconsider the WONTFIX. Regards, Richard
        Hide
        Ed Burns added a comment -

        Prepare to delete "spec" subcomponent.

        Show
        Ed Burns added a comment - Prepare to delete "spec" subcomponent.
        Hide
        rogerk added a comment -

        triage

        Show
        rogerk added a comment - triage
        Hide
        Ed Burns added a comment -

        edburns

        Show
        Ed Burns added a comment - edburns
        Hide
        Ed Burns added a comment -

        Set priority to baseline ahead of JSF 2.3 triage. Priorities will be assigned accurately after this exercise.

        Show
        Ed Burns added a comment - Set priority to baseline ahead of JSF 2.3 triage. Priorities will be assigned accurately after this exercise.
        Hide
        Manfred Riem added a comment -

        Setting priority to Minor

        Show
        Manfred Riem added a comment - Setting priority to Minor

          People

          • Assignee:
            Unassigned
            Reporter:
            kennardconsulting
          • Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

            • Created:
              Updated: