From e4bbbcdcd2720c096131ac97cb96b3110f13f52a Mon Sep 17 00:00:00 2001
From: Musachy Barroso
- * It creates a HTML <DIV /> that obtains it's content via a remote XMLHttpRequest call via
- * the dojo framework.
+ * This tag generates an HTMl div that loads its content using an XMLHttpRequest call via
+ * the dojo framework. When the "updateFreq" is set the timer will start automatically and
+ * reload the div content with the value of "updateFreq" as the refresh period. Topics can
+ * be used to stop(stopTimerListenTopics) and start(startTimerListenTopics) this timer.
*
+ * When used inside a "tabbedpanel" tag, each div becomes a tab. Some attributes are specific
+ * to this use case, like:
+ * Examples
- *
+ * Examples Simple div that loads its content once:
+ *
+ *
+ *
*
- *
- *
- * <s:url id="url" action="AjaxTest" />
- * <s:div
- * id="once"
- * theme="ajax"
- * href="%{url}"
- * loadingText="Loading..."
- * listenTopics="/refresh"
- * updateFreq="3000"
- * autoStart="true"
- * formId="form"
- *></s:div>
- *
+ * <sx:div href="%{#url}">Initial Content</sx:div>
*
- *
div that reloads its content every 2 seconds, and shows an indicator while reloading:
+ *
+ * <img id="indicator" src="${pageContext.request.contextPath}/images/indicator.gif" style="display:none"/>
+ * <sx:div href="%{#url}" updateFreq="2000" indicator="indicator">
+ * Initial Content
+ * </sx:div>
+ *
+ *
+ *
+ *
+ * div that uses topics to control the timer, highlights its content in red after reload, and submits + * a form:
+ *
+ * <form id="form">
+ * <label for="textInput">Text to be submited when div reloads</label>
+ * <input type=textbox id="textInput" name="data">
+ * </form>
+ * <sx:div
+ * href="%{#url}"
+ * updateFreq="3000"
+ * listenTopics="/refresh"
+ * startTimerListenTopics="/startTimer"
+ * stopTimerListenTopics="/stopTimer"
+ * highlightColor="red"
+ * formId="form">
+ * Initial Content
+ * </sx:div>
+ *
+ *
*/
@StrutsTag(name="div", tldTagClass="org.apache.struts2.dojo.views.jsp.ui.DivTag", description="Render HTML div providing content from remote call via AJAX")
public class Div extends AbstractRemoteBean {
@@ -71,7 +99,6 @@ public class Div extends AbstractRemoteBean {
protected String startTimerListenTopics;
protected String stopTimerListenTopics;
protected String refreshOnShow;
- protected String separateScripts;
protected String closable;
protected String preload;
@@ -140,11 +167,6 @@ public class Div extends AbstractRemoteBean {
this.refreshOnShow = refreshOnShow;
}
- @StrutsTagAttribute(description="Run scripts in a separate scope, unique for each Div", defaultValue="true")
- public void setSeparateScripts(String separateScripts) {
- this.separateScripts = separateScripts;
- }
-
@StrutsTagAttribute(description="Show a close button when the div is inside a 'tabbedpanel'", defaultValue="false")
public void setClosable(String closable) {
this.closable = closable;