Details

    • Type: Improvement Improvement
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 1.2
    • Fix Version/s: 2.0
    • Component/s: Uncategorized
    • Labels:
      None
    • Environment:

      Operating System: All
      Platform: All

    • Issuezilla Id:
      488
    • Status Whiteboard:
      Hide

      EGTop5

      Show
      EGTop5

      Description

      JSF devotes much love and attention to the "faces request" lifecycle for JSF
      form submissions. It also talks briefly about something called a "non-faces
      request". The most interesting kind of non-faces request is a HTTP GET request,
      which - when you think about it - is actually the most common kind of request.
      Here, the spec is a great disappointment. It's certainly possible to create
      bookmarkable JSF pages with request parameters, but you lose a level of
      abstraction, and end up writing servlet-like code.

      Seam solves this problem by providing "page actions" and "page parameters",
      which are similar to the abstractions provided for faces requests. (They also
      look a lot like the functionality provided by an action-based web framework such
      as Struts or WebWork.)

      JSF 2.0 should define a lifecycle for non-faces requests that includes:

      • validation and model update for request parameters
      • some mechanism for handling validation failures
      • action invocation (Discussion started)
      • some facility to redirect the request to a different URL

      In other words, non-faces requests are going to need to provide all the things
      that faces requests currently provide. The only difference being that the
      submitted values are not coming from JSF input components, but rather from plain
      HTTP parameters (in a bookmarkable URL, for example).

      The interesting question is exactly where should these actions, the mapping of
      request parameters to model attributes and validation be declared. The solution
      provided by Seam today is to declare this in an XML document along with the
      orchestration logic (navigation). But I'm increasingly favorable to the idea of
      embedding this in the page definition. For example:

      <f:view>
      <f:parameter name="customerName" value="#

      {customerFinder.name}

      " required="true">
      <f:validateLength max="100"/>
      </f:parameter>
      <f:onRender action="#

      {customerFinder.findByName}

      "/>
      ...
      </f:view>

      This ties into navigation controls and improvements to the navigation system

        Activity

        Hide
        pmuir added a comment -

        This ties closely to naviagtion enhancements, especially
        https://javaserverfaces-spec-public.dev.java.net/issues/show_bug.cgi?id=484

        Show
        pmuir added a comment - This ties closely to naviagtion enhancements, especially https://javaserverfaces-spec-public.dev.java.net/issues/show_bug.cgi?id=484
        Hide
        pmuir added a comment -

        A JBoss top priority issue issue

        Show
        pmuir added a comment - A JBoss top priority issue 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 -

        Created an attachment (id=216)
        move "fragement" from UIOutcomeTarget property to renderer-specific attribute

        Show
        Ed Burns added a comment - Created an attachment (id=216) move "fragement" from UIOutcomeTarget property to renderer-specific attribute
        Hide
        Ed Burns added a comment -

        fixed

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

        Prepare to delete "spec" subcomponent.

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

        Closing resolved issue out

        Show
        Manfred Riem added a comment - Closing resolved issue out

          People

          • Assignee:
            javaserverfowner
            Reporter:
            pmuir
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: