Skip to main content

Jim Driscoll

Jim Driscoll has been at Sun for over 13 years, ever since he joined JavaSoft to work on the Java Web Server and the first version of Servlets. At various times, he has been the manager of the J2EE RI, the Java Web Services Developer Pack, and a host of Open Source, web and XML projects that Sun has either participated in or led. His current job title is Senior Engineer, on the JavaServer Faces team, and he has been specializing in Ajax. He lives and works in the southern part of the San Francisco Bay area.

 

driscoll's blog

Slides for JSF 2 and Ajax

Posted by driscoll on October 5, 2009 at 9:33 AM PDT

I've placed my slides for my JSF 2 and Ajax talk up on slideshare.

Check 'em out, and ask questions in the comments.

Mixing Ajax and full requests in JSF 2.0

Posted by driscoll on October 1, 2009 at 6:20 PM PDT

JSF 2.0 makes ajax pretty easy - but it can't hide everything from you... It's tempting to just add a few ajax tags into your page, and not worry too much about interactions - here's one example of a problem you may run into.

Let's say you've got a page with an input text, and a command button - like this:

JSF 2.0 Reminder: Project Stage

Posted by driscoll on September 28, 2009 at 11:16 AM PDT

Just a reminder that while you are developing a JSF 2.0 project, you really, really, really should enable the Development Project Stage. Doing this enables better error messages, including in the client side JavaScript, at the cost of some performance.

Enabling this is as simple as putting the below into your web.xml:

Ajax tag events and listeners

Posted by driscoll on September 26, 2009 at 1:08 PM PDT

Today we're going to talk about two features of JSF 2.0's f:ajax tag: the event attribute and the listener attribute.

The use of both of these is really, really simple - so I'll just briefly cover the basics, and then launch directly into the sample code.

The "event" attribute of the ajax tag indicates which event to use to trigger the ajax request.

Speaking Engagement next week

Posted by driscoll on September 11, 2009 at 1:30 PM PDT

I'll be speaking at the Herbstcampus next week, on topics such as JSF 2, JSF and Ajax, and Comet.


If you're in Nuremburg next week, or just want to be, the conference looks pretty cool, come join us.

Eval JavaScript in a global context

Posted by driscoll on September 8, 2009 at 11:37 AM PDT

Even though it's considered bad practice, it's often handy to eval code in JavaScript.  And in my case, it was simply necessary, since the JSF specification requires eval of scripts. And it's also necessary to execute those evaluated scripts in the global scope. It's not as easy as it first looks.

Bridging to Open Ajax

Posted by driscoll on September 3, 2009 at 11:04 AM PDT

The Open Ajax Alliance is a standards organization with the mission of ensuring interoperability within Web based Ajaxified applications.

Busy status indicator with JSF 2

Posted by driscoll on September 2, 2009 at 10:58 AM PDT

I've had a few requests on how to write a busy status indicator - you know, the little spinning ball that's there while an Ajax call is active, and which goes away once the request is complete. So, I spent about two hours today, and did just that - including putting it into a component so it's reusable. As usual, it involved no Java, and only a minimal amount of JavaScript.

Inline Scripts with Mojarra

Posted by driscoll on September 2, 2009 at 12:01 AM PDT

A few weeks ago, I blogged about ways to execute scripts on the client which you were writing out from the server via Ajax.  By popular demand, the latest build of Mojarra now allows execution of inline scripts.

ui:repeat and Ajax

Posted by driscoll on August 17, 2009 at 2:35 PM PDT

A nice feature of Facelets is the ui:repeat tag, which iterates over a supplied list of values to do a full list on your page. One problem: it'll add an index to the generated id's, which can make using it with Ajax a bit of a drag. But if you're just using the f:ajax tag, that index is detected automatically, making ajaxifying the tag relatively easy.