John Fallows

Author
+ Follow
since Apr 04, 2006
Merit badge: grant badges
For More
Cows and Likes
Cows
Total received
0
In last 30 days
0
Total given
0
Likes
Total received
0
Received in last 30 days
0
Total given
0
Given in last 30 days
0
Forums and Threads
Scavenger Hunt
expand Ranch Hand Scavenger Hunt
expand Greenhorn Scavenger Hunt

Recent posts by John Fallows

Yes, we already have received messages on the Weblets user mailing list from folks using Weblets to server JAR-packaged resources in a non-JSF environment.

Kind Regards.
18 years ago
JSF
The ability for Mabon to expose various methods on a managed bean does sound like a huge security problem, doesn't it?

Mabon appends a secure hash to the URLs it generates during initial render of the page, so that subsequent AJAX callbacks can be verified as originating from the server rather than being spoofed during a malicious user attack.

Most importantly, the JSF component author does not need to take any special measures to ensure this Mabon AJAX callback has been secured.

Kind Regards.
18 years ago
JSF
Writing an Ajax framework that works correctly across different browsers can be an extremely difficult task, depending on the scope of the effort.

I'd recommend learning enough about pure Ajax to understand the common problems and then leverage an existing Ajax-enabled JavaScript framework, such as Dojo Toolkit to deliver the solutions.

In our book, Jonas and I show how to integrate Dojo Toolkit with JavaServer Faces using the Java.net open source project called Weblets. The same technique can be used to integrate other Ajax frameworks as well.

Kind Regards.
18 years ago
JSF
Hi Bill,

Take a look at the <f:selectItems> tag in the standard JSF core tag library. This will allow you to specify a data-driven list of select items for any of the <h:selectOne*> or <h:selectMany*> component tags.

Using Ajax to further enhance this type of select-one or select-many component would allow you to update the displayed options at the browser without requiring a traditional full-page submit.

Kind Regards.
18 years ago
JSF
Ajax provides a plugin-free communication channel between the browser and the web server, allowing more web application "intelligence" to be migrated to the browser for a more compelling user experience.

Of course, there are trade-offs when using Ajax to gain improved interactivity, such as increased complexity of writing web applications, graceful degradation for non-Ajax-capable clients, Section 508 accessibility, etc.

My co-author, Jonas Jacobi, and I have demonstrated that many of these issues with Ajax can be addressed by leveraging the standards-based server-side component model of JavaServer Faces.

We recommend encapsulation of Ajax functionality inside JSF component renderers, protecting the web application developer from the Ajax complexities. Dynamic JSF RenderKit switching can be used to degrade gracefully for non-Ajax-capable clients as well as to meet Section 508 accessibility requirements.

However, integration between JSF and Ajax requires significant effort if starting from scratch. So, as part of the book writing process, we decided to create 3 new open source projects on Java.net to provide common facilities to the JavaServer Faces Ajax component development community:

  • Weblets resource packaging
  • Mabon data fetch over Ajax
  • D� Delta-DOM rendering over Ajax


  • Kind Regards.
    18 years ago
    JSF
    It is entirely possible to achieve different techology clients using the same JavaServer Faces components, but with different Renderers.

    The Oracle ADF Faces component library can render HTML (various desktop browser flavors), Mobile device markup languages (eg. Mobile HTML, WML), Telnet (yes, telnet!), Instant Messenger protocol, etc.

    Of course, the screen real estate is quite different in size for some of these different "devices", so that must be taken into consideration while designing applications.

    In general, it is practical to use the same component library and skill set to develop your JavaServer Faces application across different technologies and devices. As you can imagine however, it would not be reasonable to expect a complex desktop browser application to be automatically converted to a mobile device.

    In our book, Pro JSF and Ajax, Jonas and I show you how to write Ajax-enabled JavaServer Faces components that protect the application developer from the various complexities of each browser technology, while still leveraging the best available browser technologies, such as JavaScript, Microsoft HTC and Mozilla XUL.

    Kind Regards.
    18 years ago
    JSF