[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:
-------------------------------
Fix Version/s: 5-Tracking
> 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
> 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