diff --git a/src/main/java/org/olat/core/gui/components/AbstractComponent.java b/src/main/java/org/olat/core/gui/components/AbstractComponent.java index e9165df8895a53b4f637ab5bd3094990900148bd..48f97fc45bd8e10b93dc4f39886072961d674565 100644 --- a/src/main/java/org/olat/core/gui/components/AbstractComponent.java +++ b/src/main/java/org/olat/core/gui/components/AbstractComponent.java @@ -52,8 +52,8 @@ public abstract class AbstractComponent implements Component { private boolean spanReplaceable = false; - private String name; - private String dispatchID; + private final String name; + private final String dispatchID; private String elementCssClass; private long timestamp = 1l; @@ -118,13 +118,11 @@ public abstract class AbstractComponent implements Component { dispatchID = Long.toString(CodeHelper.getRAMUniqueID()); staticCmp = false; } else { - dispatchID = id; + // OO-98: dispatchID will get used in generated js-code. thus, make sure it + // is valid as variable name. + dispatchID = secureJSVarName(id); staticCmp = true; } - - // OO-98: dispatchID will get used in generated js-code. thus, make sure it - // is valid as variable name. - dispatchID = secureJSVarName(dispatchID); this.name = name; this.translator = translator; diff --git a/src/main/java/org/olat/core/gui/components/form/flexible/impl/components/SimpleLabelText.java b/src/main/java/org/olat/core/gui/components/form/flexible/impl/components/SimpleLabelText.java index 87c42e2a38056cb316af803fa18ab144e04bef71..333220f47eed1d40404f4db557f566fc212fe469 100644 --- a/src/main/java/org/olat/core/gui/components/form/flexible/impl/components/SimpleLabelText.java +++ b/src/main/java/org/olat/core/gui/components/form/flexible/impl/components/SimpleLabelText.java @@ -79,20 +79,19 @@ public class SimpleLabelText extends FormBaseComponentImpl { public void render(Renderer renderer, StringOutput sb, Component source, URLBuilder ubu, Translator translator, RenderResult renderResult, String[] args) { SimpleLabelText stc = (SimpleLabelText) source; - String css = "control-label "; + sb.append("<label class='control-label "); String target = null; if (args != null && args.length > 0) { for (int i = 0; i < args.length; i++) { String arg = args[i]; if (arg.startsWith("col-")) { - css += arg; + sb.append(arg); } else { target = arg; } } } - - sb.append("<label class='").append(css).append("' id='o_c").append(source.getDispatchID()).append("'"); + sb.append("' id='o_c").append(source.getDispatchID()).append("'"); // add the reference to form element for which this label stands. this is important for screen readers if (target != null) { sb.append(" for=\""); diff --git a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/MultipleSelectionElementImpl.java b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/MultipleSelectionElementImpl.java index cf7064c65d9043cb28c301c5fe62af36cd17310a..b1f9ae7b625bf67f4a3a90cbcb267836ea6aea6d 100644 --- a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/MultipleSelectionElementImpl.java +++ b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/MultipleSelectionElementImpl.java @@ -362,7 +362,7 @@ public class MultipleSelectionElementImpl extends FormItemImpl implements Multip */ @Override public String getFormDispatchId() { - return DISPPREFIX + getComponent().getDispatchID(); + return DISPPREFIX.concat(getComponent().getDispatchID()); } @Override