Hi Leonardo,

Thanks for the feedback.  I've tested your suggestion, and that seems to
work fine.  JIRA issue opened at:
https://issues.apache.org/jira/browse/MYFACES-3919

Regards,
Bill

Leonardo Uribe <lu4...@gmail.com> wrote on 08/20/2014 01:14:39 PM:

> From: Leonardo Uribe <lu4...@gmail.com>
> To: MyFaces Discussion <users@myfaces.apache.org>
> Date: 08/20/2014 01:15 PM
> Subject: Re: Issue with javax.faces.SEPARATOR_CHAR and commandLink
>
> Hi
>
> 2014-08-20 6:36 GMT-05:00 William Lucy <wtl...@us.ibm.com>:
> >
> >
> > Hello all,
> >
> > We've come across an issue while trying to modify the
> > javax.faces.SEPARATOR_CHAR - changing it to a non-colon character seems
to
> > break h:commandLink actions.  For example, with the separator character
set
> > to a hyphen "-", the following navigation does not work (the output
link
> > just triggers a refresh):
> >
> > <f:view>
> > <h:form>
> >         <h:commandLink id="link" action="toLink.html">
> >                 <h:outputText value="Link" />
> >         </h:commandLink>
> > </h:form>
> > </f:view>
> >
> > This can be observed in MyFaces 2.0.21, 2.1.15, and 2.2.4.  A
workaround is
> > to enable the context parameter
> > org.apache.myfaces.RENDER_FORM_SUBMIT_SCRIPT_INLINE, however that
parameter
> > has been removed in the 2.2 branch.  (It's also not a particularly
> > desirable workaround.)
>
> Yes, that's the reason why we remove it. It was legacy stuff from 1.1/1.2
and
> with 2.2 it is the right time to do a cleanup in the codebase.
>
> >  The issue here seems to stem from the oamSubmit.js
> > script; in that file there is a call
> >
> >     myfaces.oam.setHiddenInput(formName, formName + ':' + '_idcl',
linkId);
> >
> > which explicitly passes uses a colon separator character.  In
> > HtmlRendendererUtils.getHiddenCommandLinkFieldname, however, we have
> >
> >     return formInfo.getFormName() + UINamingContainer.getSeparatorChar
> > (FacesContext.getCurrentInstance())+ HIDDEN_COMMANDLINK_FIELD_NAME;
> >
> > which will cause the wrong hidden field name to be searched, and the
broken
> > actions seen here.
> >
> > Is this a bug, or just an accepted limitation of
javax.faces.SEPARATOR_CHAR
> > use?  Thanks for any feedback!
> >
>
> It is a bug. We should not use UINamingContainer.getSeparatorChar(...) to
> render that hidden field and enforce ':' instead. The reason is the
intention
> of use javax.faces.SEPARATOR_CHAR is to avoid the collision with css
> when you use the ':', but in this case the intention is to create a
hidden
> field, with no real underlying component, so it is better to let ':'on
the js
> file. Please create an issue in MyFaces issue tracker and I'll fix it on
all
> affected branches.
>
> https://issues.apache.org/jira/browse/MYFACES
>
> regards,
>
> Leonardo Uribe
>
> > Bill Lucy
> > IBM RTP WebSphere
> > wtl...@us.ibm.com
>

Reply via email to