I had test it. works fine.
2007/6/14, Bill Holloway <[EMAIL PROTECTED]>:

Joshua,

here's a very simple example:

Template:

<html xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd";>
<script type="text/javascript" src="${prototype}"></script>
<script type="text/javascript" src="${scriptaculous}"></script>
<body>

<script type="text/javascript">

        function handleResponse (xhrResponse)
        {
                alert (xhrResponse.responseText);
        }

        function asyncCall ()
        {
                new Ajax.Request ('${theLink}', {asynchronous:true,
onSuccess:handleResponse});
        }
</script>

<button onclick="asyncCall();">Do AJAX Call</button>

</body>
</html>

Class:
public class AjaxPage
{
        @Inject
        private ComponentResources _resources;

        @Inject
        @Path("${tapestry.scriptaculous}/prototype.js")
        private Asset _prototype;

        @Inject
        @Path("${tapestry.scriptaculous}/scriptaculous.js")
        private Asset _scriptaculous;

        /**
         * Generates a URI to the server-side function for the XHR
         * to use.
         *
         * @return the link
         */
        public String getTheLink ()
        {
                Link l = _resources.createActionLink ("myAction", false);
                return l.toURI();
        }

        /**
         * This is a server-side method called via XHR that returns
         * some text.
         *
         * @return some text
         */
        StreamResponse onMyAction ()
        {
                return new TextStreamResponse ("type/text", "Five bucks
below the
belt.  That's how I roll.");
        }

        /**
         * @return the prototype
         */
        public Asset getPrototype ()
        {
                return _prototype;
        }

        /**
         * @param prototype the prototype to set
         */
        public void setPrototype (Asset prototype)
        {
                _prototype = prototype;
        }

        /**
         * @return the scriptaculous
         */
        public Asset getScriptaculous ()
        {
                return _scriptaculous;
        }

        /**
         * @param scriptaculous the scriptaculous to set
         */
        public void setScriptaculous (Asset scriptaculous)
        {
                _scriptaculous = scriptaculous;
        }

}




On 6/13/07, Joshua Jackson <[EMAIL PROTECTED]> wrote:
> Hi Massimo
>
> Thanks for the response. How do you exatcly implement the response?
>
> What I assume is that you do something like this:
>         public StreamResponse onAction(){
>                 return new TextStreamResponse("text/xml",
"<employees><employee
> name=\"joshua\" /></employees>");
>         }
>
> And then process it with prototype inside your html page?
>
> Or do you have any other approach for this?
>
> Thanks in advance
>
> On 6/13/07, Massimo Lusetti <[EMAIL PROTECTED]> wrote:
>
> > I'm eager to see this implemented but i could say that right now with
> > StreamResponse is fairly easy to accomplish this. Thanks to the T5
> > flexibility.
>
> --
> Let's create a highly maintainable and efficient code
>
> YM!: thejavafreak
> Blog: http://www.nagasakti.or.id/roller/joshua/
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>


--
"The future is here.  It's just not evenly distributed yet."

     -- Traditional

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




--
Welcome to China Java Users Group(CNJUG).
http://cnjug.dev.java.net

Reply via email to