for those interested : https://issues.apache.org/struts/browse/WW-1477
Musachy Barroso-2 wrote: > > I was talking about this javascript code: > > 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); // 1 > > > > dojo.widget.getParser().createComponents(frag); // 2 > > > // eval any scripts being returned > var scripts = > div.getElementsByTagName('script'); > for (var i=0; i<scripts.length; i++) { > > eval(scripts[i].innerHTML); // 3 > } > } > catch(e){ > alert('dojo error '+e); > dojo.debug("auto-build-widgets error: > "+e); > } > }, > mimetype: "text/html" > }); > > That its going to make an asynchronous request to the action > "updateCharacterAvailable", in the namespace "/hangman/ajax", the > returned html, will use Dojo widgets, for example: > > somelink > > in //1 the text is parsed into an xml fragment, and in //2 Dojo is > instructed to create widgets from that fragment. In //3 javascript > sections are evaluated, if you have any. > > regards > musachy > > walidito wrote: >> Thank you for your response, >> As I'm a newbie, I haven't undersood well this part of your answer for >> the >> "easy way": >> >> then use the code above to make the request and process the html >> returned from your action and create the widgets. >> -What "code above" are you talking about ? >> -Could you please be ;ore explicit about this method? >> thanks >> Walid >> >> in the header of my main page. Where shall I put >> >> Musachy Barroso-2 wrote: >> >>> walidito wrote: >>> >>>> Hi everybody, >>>> I'm trying to use both the struts-2 embedded ajax tags, I mean >>>> <s:div id="once" theme="ajax" href="/TestAction.do" ... >>>> >>>> And the real Dojo that I have downloaded from dojo's website. >>>> >>>> Both work in a separate way, but If I try to use them both at the same >>>> time >>>> it does'nt work anymore... Let me explain : >>>> In my div tag, I redirect to an action (TestAction) that is redericted >>>> itself to a jsp containing "real" dojo widgets, and then the events >>>> doesn't >>>> work. >>>> >>>> >>> If your html references Dojo widgets, then it is a little more >>> complicated, the ajax hangman example in showcase does that, here is the >>> javascript from hangmanAjax.ftl: >>> >>> 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); >>> >>> //here Dojo creates the widget from >>> an xml...frag >>> >>> 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" >>> }); >>> >>> >>>> To fix it I have tried : >>>> - to copy a working jsp with a dojo code inside . I mean a full jsp >>>> with >>>> a >>>> head and body html tags, etc. >>>> - to copy just a part of the working jsp, without head and body html >>>> tags, >>>> etc. this looks like this : >>>> <script type="text/javascript" src="../dojo/dojo.js"></script> >>>> <script type="text/javascript"> >>>> dojo.require("dojo.io.*"); >>>> dojo.require("dojo.event.*"); >>>> ... >>>> >>>> I'm just wandering if it is really possible to add "real dojo" widgets >>>> to >>>> struts 2. And if, Yes, if somenone could help, it would be great. >>>> thanks. >>>> >>>> >>> The easiest way is to add all the "dojo.require" to your main page, and >>> then use the code above to make the request and process the html >>> returned from your action and create the widgets. >>> >>> musachy >>> >>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: [EMAIL PROTECTED] >>> For additional commands, e-mail: [EMAIL PROTECTED] >>> >>> >>> >>> >> >> > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > > -- View this message in context: http://www.nabble.com/Struts-2-and-Dojo-tf2809632.html#a8080400 Sent from the Struts - User mailing list archive at Nabble.com. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]