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]

Reply via email to