You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@myfaces.apache.org by "Jay Sartoris (JIRA)" <de...@myfaces.apache.org> on 2018/01/26 07:00:00 UTC

[jira] [Updated] (MYFACES-4178) Entering JSF Flow via ViewAction does not add required query params

     [ https://issues.apache.org/jira/browse/MYFACES-4178?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jay Sartoris updated MYFACES-4178:
----------------------------------
    Status: Patch Available  (was: Open)

> Entering JSF Flow via ViewAction does not add required query params
> -------------------------------------------------------------------
>
>                 Key: MYFACES-4178
>                 URL: https://issues.apache.org/jira/browse/MYFACES-4178
>             Project: MyFaces Core
>          Issue Type: Bug
>    Affects Versions: 2.3.0-beta
>            Reporter: Jay Sartoris
>            Priority: Minor
>             Fix For: 2.3.0
>
>         Attachments: JSF23ViewActionFlowEntry.war, MYFACES-4178.patch
>
>
> In Spec Issue 1403:  https://github.com/javaee/javaserverfaces-spec/issues/1403
> It states that:
> -----------
> Specifically, the
> FlowHandler.TO_FLOW_DOCUMENT_ID_REQUEST_PARAM_NAME and the
> FlowHandler.FLOW_ID_REQUEST_PARAM_NAME must be added to the query string
> when entering the flow in this way.
> -----------
> In MyFaces 2.3 these parameters are not added to the query string when entering the flow from the viewAction.  They are added when using Mojarra JSF 2.3.
> I've also tested with the MyFaces 12/02/2017 snapshot and I still see the same behavior.
> *
> The JSF 2.3 Spec says this:
> Section 7.4.2 regarding the default navigation handler implementation*
> {noformat}
> If the <redirect/> element was specified in this <navigation-case>, or this invocation of
> handleNavigation() was due to a UIViewAction broadcast event where the new viewId is different from
> the current viewId, resolve the <to-view-id> to a view identifier, using the algorithm in Section 7.4.2.1
> “Requirements for Explicit Navigation in Faces Flow Call Nodes other than ViewNodes”. Call
> getRedirectURL() on the ViewHandler, passing the current FacesContext, the <to-view-id>, any
> name=value parameter pairs specified within <view-param> elements within the <redirect> element, and
> the value of the include-view-params attribute of the <redirect /> element if present, false, if not. If
> this navigation is a flow transition (where current flow is not the same as the new flow), include the relevant flow
> metadata as entries in the parameters.
> If current flow is not null and new flow is null, include the following entries:
> FlowHandler.TO_FLOW_DOCUMENT_ID_REQUEST_PARAM_NAME: FlowHandler.NULL_FLOW
> FlowHandler.FLOW_ID_REQUEST_PARAM_NAME: “” (the empty string)
> If current flow is null and new flow is not null, include the following entries:
> FlowHandler.TO_FLOW_DOCUMENT_ID_REQUEST_PARAM_NAME: The to flow document id
> FlowHandler.FLOW_ID_REQUEST_PARAM_NAME: the flow id for the flow that is the destination of the
> transition.
> If the parameters map has entries for either of these keys, both of the entries must be replaced with the new
> values. This allows the call to FlowHandler.clientWindowTransition() to perform correctly when
> the GET request after the redirect happens.
> {noformat}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)