Added: struts/flow/trunk/src/remote-example/clientFlow.js
URL: 
http://svn.apache.org/viewcvs/struts/flow/trunk/src/remote-example/clientFlow.js?view=auto&rev=158367
==============================================================================
--- struts/flow/trunk/src/remote-example/clientFlow.js (added)
+++ struts/flow/trunk/src/remote-example/clientFlow.js Sun Mar 20 14:37:44 2005
@@ -0,0 +1,115 @@
+/* XMLHTTP functions 0.2 */
+/* For all the Railsers out there */
+
+/* Revisions */
+/* 0.1 - 24 Jan 2005 - Written by Peter Cooper (coops) */
+/* 0.2 - 26 Jan 2005 - ixXMLHTTPRequestSupported and success object checking 
supplied 
+                       by Jakob of http://Mentalized.net/ */
+
+/* The licence is simple, use however you want, but leave attribution to any 
authors
+   listed above, including yourself :-) */
+
+function flowCall(url, func, contid, data) {
+  method = "POST";
+  if (!data) data = null;
+  url = url + "?contid="+contid+"&FlowCall="+func;
+  req = xmlHTTPRequestObject();
+  if (req) {
+         req.open (method, url, false);
+      json = stringify(data);
+      //alert("sending:"+json);
+         req.send (json);
+      //alert("response:"+req.responseText);
+         eval("ret = "+req.responseText);
+      return ret;
+  }
+  return false;
+}
+
+/*function xmlHTTPAsyncRequest(url, method, data, callbackr) {
+  if (!method) method = "GET";
+  if (!data) data = null;
+  req = xmlHTTPRequestObject();
+  if (req) {
+       eval ('req.onreadystatechange = ' + callbackr + ';');
+       req.open (method, url, true);
+       req.send (data);
+       return req
+  }
+}
+*/
+
+function xmlHTTPRequestObject() {
+       var obj = false;
+       var objectIDs = new Array(
+               "Microsoft.XMLHTTP",
+               "Msxml2.XMLHTTP",
+               "MSXML2.XMLHTTP.3.0",
+               "MSXML2.XMLHTTP.4.0"
+       );
+       var success = false;
+
+       for (i=0; !success && i < objectIDs.length; i++) {
+               try {
+                       obj = new ActiveXObject(objectIDs[i]);
+                       success = true;
+               } catch (e) { obj = false; }
+       }
+
+       if (!obj)
+               obj = new XMLHttpRequest();
+
+       return obj;
+}
+
+function isXMLHTTPRequestSupported() {
+       return xmlHTTPRequestObject != null;
+}
+
+function stringify(arg) {
+    var i, o, u, v;
+
+    switch (typeof arg) {
+    case 'object':
+        if (arg) {
+            if (arg.constructor == Array) {
+                o = '';
+                for (i = 0; i < arg.length; ++i) {
+                    v = stringify(arg[i]);
+                    if (o) {
+                        o += ',';
+                    }
+                    if (v !== u) {
+                        o += v;
+                    } else {
+                        o += 'null,';
+                    }
+                }
+                return '[' + o + ']';
+            } else if (typeof arg.toString != 'undefined') {
+                o = '';
+                for (i in arg) {
+                    v = stringify(arg[i]);
+                    if (v !== u) {
+                        if (o) {
+                            o += ',';
+                        }
+                        o += stringify(i) + ':' + v;
+                    }
+                }
+                return '{' + o + '}';
+            } else {
+                return;
+            }
+        }
+        return 'null';
+    case 'unknown':
+    case 'undefined':
+    case 'function':
+        return u;
+    case 'string':
+        return '"' + arg.replace(/(["\\])/g, '\\$1') + '"';
+    default:
+        return String(arg);
+    }
+}

Propchange: struts/flow/trunk/src/remote-example/clientFlow.js
------------------------------------------------------------------------------
    svn:executable = *

Added: struts/flow/trunk/src/remote-example/guess.jsp
URL: 
http://svn.apache.org/viewcvs/struts/flow/trunk/src/remote-example/guess.jsp?view=auto&rev=158367
==============================================================================
--- struts/flow/trunk/src/remote-example/guess.jsp (added)
+++ struts/flow/trunk/src/remote-example/guess.jsp Sun Mar 20 14:37:44 2005
@@ -0,0 +1,32 @@
+<?xml version="1.0"?>
+<html>
+<head>
+  <title>Struts Flow number guessing game</title>
+    <script type="text/javascript">
+  <!--
+var contid = "<%=request.getAttribute("contid")%>";
+function cheat() {
+    result = flowCall("guess.do", "cheat", contid, []);
+    alert("The secret number is "+result.secret);
+}
+    -->
+  </script>
+  <script type="text/javascript" src="clientFlow.js" />
+</head>
+<body>
+
+  <h1>Guess the Number Between 1 and 10</h1>
+  
+  <h2><%= request.getAttribute("hint") %></h2>
+  
+  <h3>You've guessed <%= request.getAttribute("guesses") %> times.</h3>
+  
+  <form method="post" action="guess.do">
+    <input type="hidden" name="contid" value='<%= 
request.getAttribute("contid") %>' />
+    <input type="text" name="guess"/>
+    <input type="submit"/>
+    <input type="button" onclick="cheat()" value="Cheat" />
+  </form>
+  
+</body>
+</html>
\ No newline at end of file

Propchange: struts/flow/trunk/src/remote-example/guess.jsp
------------------------------------------------------------------------------
    svn:executable = *

Added: struts/flow/trunk/src/remote-example/index.html
URL: 
http://svn.apache.org/viewcvs/struts/flow/trunk/src/remote-example/index.html?view=auto&rev=158367
==============================================================================
--- struts/flow/trunk/src/remote-example/index.html (added)
+++ struts/flow/trunk/src/remote-example/index.html Sun Mar 20 14:37:44 2005
@@ -0,0 +1,9 @@
+<html>
+<head>
+  <META HTTP-EQUIV="Refresh" CONTENT="0;URL=./guess.do">
+</head>
+<body>
+  <p>Should be redirected to <a href="guess.do">guess.do</a>
+  </p>
+</body>
+</html>

Propchange: struts/flow/trunk/src/remote-example/index.html
------------------------------------------------------------------------------
    svn:executable = *

Added: struts/flow/trunk/src/remote-example/success.jsp
URL: 
http://svn.apache.org/viewcvs/struts/flow/trunk/src/remote-example/success.jsp?view=auto&rev=158367
==============================================================================
--- struts/flow/trunk/src/remote-example/success.jsp (added)
+++ struts/flow/trunk/src/remote-example/success.jsp Sun Mar 20 14:37:44 2005
@@ -0,0 +1,17 @@
+<?xml version="1.0"?>
+<html>
+<head>
+  <title>cocoon flow number guessing game</title>
+</head>
+<body>
+
+  <h1>Success!</h1>
+   
+  <h2>The number was: <%= request.getAttribute("random") %></h2>
+  
+  <h3>It took you <%= request.getAttribute("guesses") %> tries.</h3>
+  
+  <p><a href="guess.do">Play again</a></p>
+  
+</body>
+</html>
\ No newline at end of file

Propchange: struts/flow/trunk/src/remote-example/success.jsp
------------------------------------------------------------------------------
    svn:executable = *



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to