You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@myfaces.apache.org by "Leonardo Uribe (JIRA)" <de...@myfaces.apache.org> on 2016/06/20 09:58:05 UTC

[jira] [Commented] (MYFACES-4052) Multiple with same name encodes only last one in link URL

    [ https://issues.apache.org/jira/browse/MYFACES-4052?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15339265#comment-15339265 ] 

Leonardo Uribe commented on MYFACES-4052:
-----------------------------------------

JSF 2.2 section 7.4.2, before 7.4.2.1 you can see this description:

"...Query string parameters may be contributed by three different sources: the outcome (implicit navigation), a nested <f:param> on the component tag (e.g., <h:link>, <h:button>, <h:commandLink>, <h:commandButton>), and view parameters. When a redirect URL is built, whether it be by the NavigationHandler on a redirect case or a UIOutcomeTarget renderer, the query string parameter sources should be consulted in the following order: 

- the outcome (implicit navigation) 
- view parameter
- nested <f:param>

If a query string parameter is found in two or more sources, the latter source must replace all instances of the query string parameter from the previous source(s). ..."

It is the only reference I could found for this case. In summary, f:param behaviour depends on the interpretation of the renderer. In this case, there is not any mention of how f:param must be interpreted by the renderer, but the way how URL links are calculated is defined by the spec by the navigation algorithm.

I think this issue should be closed as invalid, because there is a clear mention about how this part should work in the spec and we cannot change that behavior, at least from MyFaces side. This change should be done at JSF spec level, but I still have doubts about it. There is evidence that ViewHandler.getBookmarkableURL(...) receives a  Map<String, List<String>> as parameters, but if that so, it looks like f:param could be modified to handle List<String> values.



> Multiple <f:param> with same name encodes only last one in link URL
> -------------------------------------------------------------------
>
>                 Key: MYFACES-4052
>                 URL: https://issues.apache.org/jira/browse/MYFACES-4052
>             Project: MyFaces Core
>          Issue Type: Bug
>    Affects Versions: 2.2.10
>         Environment: TomEE 7.0.0
>            Reporter: Bauke Scholtz
>
> Consider:
> {code}
> <h:link value="link">
>     <f:param name="p" value="foo"/>
>     <f:param name="p" value="bar"/>
> </h:link>
> {code}
> MyFaces 2.2.10 renders only last one in link URL instead of both.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)