You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by iv...@apache.org on 2009/08/03 02:17:01 UTC
svn commit: r800174 -
/wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/palette/component/AbstractOptions.java
Author: ivaynberg
Date: Mon Aug 3 00:17:01 2009
New Revision: 800174
URL: http://svn.apache.org/viewvc?rev=800174&view=rev
Log:
WICKET-2407 AbstractOptions of Palette may cause an HTML error with illegal chars
Issue: WICKET-2407
Modified:
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/palette/component/AbstractOptions.java
Modified: wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/palette/component/AbstractOptions.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/palette/component/AbstractOptions.java?rev=800174&r1=800173&r2=800174&view=diff
==============================================================================
--- wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/palette/component/AbstractOptions.java (original)
+++ wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/palette/component/AbstractOptions.java Mon Aug 3 00:17:01 2009
@@ -26,6 +26,7 @@
import org.apache.wicket.markup.html.form.IChoiceRenderer;
import org.apache.wicket.util.string.AppendingStringBuffer;
import org.apache.wicket.util.string.JavascriptUtils;
+import org.apache.wicket.util.string.Strings;
import org.apache.wicket.util.value.IValueMap;
@@ -74,11 +75,40 @@
while (options.hasNext())
{
final T choice = options.next();
- String id = renderer.getIdValue(choice, 0);
- Object displayValue = renderer.getDisplayValue(choice);
- Class<?> displayClass = displayValue == null ? null : displayValue.getClass();
- String value = getConverter(displayClass).convertToString(displayValue, getLocale());
- value = getLocalizer().getString(value, this, value);
+
+
+ final CharSequence id;
+ {
+ String value = renderer.getIdValue(choice, 0);
+
+ if (getEscapeModelStrings())
+ {
+ id = Strings.escapeMarkup(value);
+ }
+ else
+ {
+ id = value;
+ }
+ }
+
+ final CharSequence value;
+ {
+ Object displayValue = renderer.getDisplayValue(choice);
+ Class<?> displayClass = displayValue == null ? null : displayValue.getClass();
+
+ String displayString = getConverter(displayClass).convertToString(displayValue,
+ getLocale());
+ displayString = getLocalizer().getString(displayString, this, displayString);
+
+ if (getEscapeModelStrings())
+ {
+ value = Strings.escapeMarkup(displayString);
+ }
+ else
+ {
+ value = displayString;
+ }
+ }
buffer.append("\n<option value=\"").append(id).append("\"");