diff --git a/webui/core/src/main/java/org/exoplatform/webui/form/UIFormStringInput.java b/webui/core/src/main/java/org/exoplatform/webui/form/UIFormStringInput.java index 98940de55a..a2e6746a0b 100644 --- a/webui/core/src/main/java/org/exoplatform/webui/form/UIFormStringInput.java +++ b/webui/core/src/main/java/org/exoplatform/webui/form/UIFormStringInput.java @@ -21,6 +21,7 @@ import java.io.Writer; +import org.apache.commons.lang.StringUtils; import org.exoplatform.commons.serialization.api.annotations.Serialized; import org.exoplatform.commons.utils.HTMLEntityEncoder; import org.exoplatform.webui.application.WebuiRequestContext; @@ -52,9 +53,20 @@ public class UIFormStringInput extends UIFormInputBase { */ private int maxLength = 0; + /** + * placeholder of the text field + */ + private String placeholder = ""; + public UIFormStringInput() { } + public UIFormStringInput(String name, String bindingExpression, String value, String placeholder) { + super(name, bindingExpression, String.class); + this.value_ = value; + this.placeholder = placeholder; + } + public UIFormStringInput(String name, String bindingExpression, String value) { super(name, bindingExpression, String.class); this.value_ = value; @@ -78,6 +90,15 @@ public int getMaxLength() { return maxLength; } + public String getPlaceholder() { + return placeholder; + } + + public UIFormStringInput setPlaceholder(String placeholder) { + this.placeholder = placeholder; + return this; + } + public void decode(Object input, WebuiRequestContext context) { String val = (String) input; if ((val == null || val.length() == 0) && type_ == PASSWORD_TYPE) @@ -97,6 +118,11 @@ public void processRender(WebuiRequestContext context) throws Exception { w.write(" type=\"password\""); else w.write(" type=\"text\""); + if(StringUtils.isNotEmpty(getPlaceholder())) { + w.write(" placeholder=\""); + w.write(getPlaceholder()); + w.write("\""); + } w.write(" id=\""); w.write(getId()); w.write("\"");