[richfaces-issues] [JBoss JIRA] (RF-12764) rich:select - javascript error when using myfaces with french locale

Brian Leathem (JIRA) jira-events at lists.jboss.org
Tue Jan 29 10:20:47 EST 2013


     [ https://issues.jboss.org/browse/RF-12764?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Brian Leathem updated RF-12764:
-------------------------------

    Labels: patch_proposed  (was: )

    
> rich:select - javascript error when using myfaces with french locale
> --------------------------------------------------------------------
>
>                 Key: RF-12764
>                 URL: https://issues.jboss.org/browse/RF-12764
>             Project: RichFaces
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>    Affects Versions: 4.3.0.CR2
>            Reporter: Dupont Dupont
>              Labels: patch_proposed
>             Fix For: 5-Tracking
>
>
> Using RF 4.3.0.CR2, using rich:select with french locale on Myfaces produces the following javascript error :
> {code}
> Uncaught SyntaxError: Unexpected identifier.
> {code}
> It appears when javax.faces.component.UISelectOne.INVALID error message has a value containing a single quote.
> To reproduce it, just add the following line in your jsf messages properties :
> {code}
> javax.faces.component.UISelectOne.INVALID = {0} : Erreur de validation : la valeur n''est pas valide.
> {code}
> And add a rich:select in your JSF page.
> We end up with the javascript :
> {code}
> RichFaces.csv.addMessage({ 'UISELECTONE_INVALID': {detail:'{0} : Erreur de validation : la valeur n'est pas valide.',summary:'{0} : Erreur de validation : la valeur n'est pas valide.',severity:2} });
> {code}
> This error impacts users of Websphere 8 (tested on 8.0.0.3) with french locale (myfaces provides a default message containing simple quotes).
> Resolved locally by modifying AddCSVMessageScript#appendcript
> But perhaps I've missed some side effects.
> {code:java}
>     @Override
>     public void appendScript(Appendable target) throws IOException {
>         String summary = facesMessage.getSummary();
>         String detail = facesMessage.getDetail();
>         int severity = facesMessage.getSeverity().getOrdinal();
>         StringBuilder builder = new StringBuilder();
>         ScriptUtils.appendEncodedString(builder, summary);
>         summary = builder.toString();
>         builder = new StringBuilder();
>         ScriptUtils.appendEncodedString(builder, detail);
>         detail = builder.toString();
>         
>         String script = MessageFormat.format(MESSAGE_OBJECT, messageId, summary, detail, severity);
>         target.append(script);
>     }
> {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


More information about the richfaces-issues mailing list