diff --git a/plugins/dojo/src/main/java/org/apache/struts2/dojo/components/Autocompleter.java b/plugins/dojo/src/main/java/org/apache/struts2/dojo/components/Autocompleter.java
index dbd7661b6..f6101333c 100644
--- a/plugins/dojo/src/main/java/org/apache/struts2/dojo/components/Autocompleter.java
+++ b/plugins/dojo/src/main/java/org/apache/struts2/dojo/components/Autocompleter.java
@@ -252,6 +252,7 @@ public class Autocompleter extends ComboBox {
protected String valueNotifyTopics;
protected String resultsLimit;
protected String transport;
+ protected String preload;
public Autocompleter(ValueStack stack, HttpServletRequest request,
HttpServletResponse response) {
@@ -324,6 +325,8 @@ public class Autocompleter extends ComboBox {
}
if (transport != null)
addParameter("transport", findString(transport));
+ if (preload != null)
+ addParameter("preload", findValue(preload, Boolean.class));
String keyNameExpr = "%{" + keyName + "}";
addParameter("key", findString(keyNameExpr));
@@ -516,4 +519,9 @@ public class Autocompleter extends ComboBox {
public void setTransport(String transport) {
this.transport = transport;
}
+
+ @StrutsTagAttribute(description="Load options when page is loaded", type="Boolean", defaultValue="true")
+ public void setPreload(String preload) {
+ this.preload = preload;
+ }
}
diff --git a/plugins/dojo/src/main/java/org/apache/struts2/dojo/views/jsp/ui/AutocompleterTag.java b/plugins/dojo/src/main/java/org/apache/struts2/dojo/views/jsp/ui/AutocompleterTag.java
index 54ac5ce0a..5e26e9f56 100644
--- a/plugins/dojo/src/main/java/org/apache/struts2/dojo/views/jsp/ui/AutocompleterTag.java
+++ b/plugins/dojo/src/main/java/org/apache/struts2/dojo/views/jsp/ui/AutocompleterTag.java
@@ -61,6 +61,7 @@ public class AutocompleterTag extends ComboBoxTag {
protected String valueNotifyTopics;
protected String resultsLimit;
protected String transport;
+ protected String preload;
public Component getBean(ValueStack stack, HttpServletRequest req, HttpServletResponse res) {
return new Autocompleter(stack, req, res);
@@ -96,6 +97,7 @@ public class AutocompleterTag extends ComboBoxTag {
autocompleter.setValueNotifyTopics(valueNotifyTopics);
autocompleter.setResultsLimit(resultsLimit);
autocompleter.setTransport(transport);
+ autocompleter.setPreload(preload);
}
public void setAutoComplete(String autoComplete) {
@@ -205,4 +207,8 @@ public class AutocompleterTag extends ComboBoxTag {
public void setTransport(String transport) {
this.transport = transport;
}
+
+ public void setPreload(String preload) {
+ this.preload = preload;
+ }
}
diff --git a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/struts/widget/ComboBox.js b/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/struts/widget/ComboBox.js
index e959939c8..6989dac65 100644
--- a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/struts/widget/ComboBox.js
+++ b/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/struts/widget/ComboBox.js
@@ -184,7 +184,7 @@ struts.widget.ComboBoxDataProvider = function(combobox, node){
};
- if(!dojo.string.isBlank(this.cbox.dataUrl)){
+ if(!dojo.string.isBlank(this.cbox.dataUrl) && this.cbox.preload){
this.getData(this.cbox.dataUrl);
} else {
// check to see if we can populate the list from