|
Here is a short list of links related to this Struts hangmanAjax.ftl source code file:
Struts example source code file (hangmanAjax.ftl)
The Struts hangmanAjax.ftl source code<html> <head> <title>Showcase - Hangman <@sx.head /> </head> <body> <script> function destroyWidgets() { var div = dojo.byId("updateCharacterAvailableDiv"); var anchors = div.getElementsByTagName("a"); dojo.lang.forEach(anchors, function(anchor){ var widget = dojo.widget.byId(anchor); widget.destroy(); }); } var _listeners = { guessMade: function(request, widget) { var sourceId = widget.widgetId; this.guessMadeFunc(sourceId); this.updateCharacterAvailable(sourceId); this.updateVocab(sourceId); this.updateScaffold(sourceId); this.updateGuessLeft(sourceId); }, guessMadeFunc: function(sourceId) { var requestAttr = { character: sourceId }; dojo.io.bind({ url: "<@s.url action="guessCharacter" namespace="/hangman" />", load: function(type, data, event) { }, mimetype: "text/html", content: requestAttr }); }, updateCharacterAvailable: function(sourceId) { dojo.io.bind({ url: "<@s.url action="updateCharacterAvailable" namespace="/hangman/ajax" />", load: function(type, data, event) { var div = dojo.byId("updateCharacterAvailableDiv"); destroyWidgets(); div.innerHTML = data; try{ var xmlParser = new dojo.xml.Parse(); var frag = xmlParser.parseElement(div, null, true); dojo.widget.getParser().createComponents(frag); // eval any scripts being returned var scripts = div.getElementsByTagName('script'); for (var i=0; i<scripts.length; i++) { eval(scripts[i].innerHTML); } } catch(e){ alert('dojo error '+e); dojo.debug("auto-build-widgets error: "+e); } }, mimetype: "text/html" }); }, updateVocab: function(sourceId) { dojo.io.bind({ url: "<@s.url action="updateVocabCharacters" namespace="/hangman/ajax" />", load: function(type, data, event) { var div = dojo.byId("updateVocabDiv"); div.innerHTML = data; try { var xmlParser = new dojo.xml.Parse(); var frag = xmlParser.parseElement(div, null, true); var scripts = div.getElementsByTagName("script"); for(var i=0; i<scripts.length; i++) { eval(scripts[i].innerHTML); } } catch(e) { alert("dojo error"+e); dojo.debug("auto-build-widgets error: "+e); } }, mimetype: "text/html" }); }, updateScaffold: function(sourceId) { dojo.io.bind({ url: "<@s.url action="updateScaffold" namespace="/hangman/ajax" />", load: function(type, data, event) { var div = dojo.byId("updateScaffoldDiv"); div.innerHTML = data; try { var xmlParser = new dojo.xml.Parse(); var frag = xmlParser.parseElement(div, null, true); var scripts = div.getElementsByTagName("script"); for(var i=0; i<scripts.length; i++) { eval(scripts[i].innerHTML); } } catch(e) { alert("dojo error"+e); dojo.debug("auto-build-widgets error: "+e); } }, mimetype: "text/html" }); }, updateGuessLeft: function(sourceId) { dojo.io.bind({ url: "<@s.url action="updateGuessLeft" namespace="/hangman/ajax" />", load: function(type, data, event) { var div = dojo.byId("updateGuessLeftDiv"); div.innerHTML = data; try { var xmlParser = new dojo.xml.Parse(); var frag = xmlParser.parseElement(div, null, true); var scripts = div.getElementsByTagName("script"); for(var i=0; i<scripts.length; i++) { eval(scripts[i].innerHTML); } } catch(e) { alert("dojo error"+e); dojo.debug("auto-build-widgets error: "+e); } }, mimetype: "text/html" }); } }; dojo.event.topic.subscribe("topicGuessMade", _listeners, "guessMade"); </script> <table bgcolor="green"> <tr> <td> <@s.url id="url" value="/hangman/images/hangman.png" /> <img alt="Hangman" src="<@s.property value="%{#url}" />" width="197" height="50" border="0"/> </td> <td width="70" align="right"> <#-- Guesses Left --> <div id="updateGuessLeftDiv"> <@s.set name="guessLeftImageName" value="%{'Chalkboard_'+hangman.guessLeft()+'.png'}" /> <@s.url id="url" value="%{'/hangman/images/'+#guessLeftImageName}" /> <img alt="No. Guesses Left" src="<@s.property value="%{#url}"/>" width="20" height="20" border="0" /> </div> </td> <td> <@s.url id="url" value="/hangman/images/guesses-left.png" /> <img alt="Guesses Left" src="<@s.property value="%{#url}" />" width="164" height="11" border="0"/> </td> </tr> <tr> <td> |
... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2021 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.