Skip to main content


Posted by editor on October 31, 2006 at 6:36 AM PST

Copy and convert your web content into PDF, SVG, and more

One of the design decisions implicit in the Flying Saucer project is that it only deals with well-formed XHTML with proper CSS... not the ill-formed HTML nonsense that makes up most web pages, which works only because so many browsers are so forgiving. Insisting on proper syntax spares the Flying Saucer developers from having to spend all their time figuring out what web page authors "really meant", but it would seem to limit the usefulness of the project.

At least that's what you'd think until you realize that you can easily put a step in front of Flying Saucer to generate XHTML from various sources. Whether you're tidy'ing real world HTML, or generating XHTML from your own data, there are plenty of ways to provide Flying Saucer with XHTML content that it can parse and render.

And from there, it gets interesting, as you'll see

in today's Feature Article, in which Jacobus Steenkamp shows you how to
Combine JSF Facelets and the Flying Saucer XHTML Renderer:

Facelets and the Flying Saucer Renderer have a symbiotic
relationship: one produces XHTML content while the other "parses"
it and lays it out into an object graph in memory. While this
object graph is then usually translated into


API calls to render the document in Swing/AWT, it can also be
transformed into various other formats such as PDF, a selection of
image formats, or as a "">Scalable
Vector Graphics (SVG)

Today's Weblogs start off with a question you might never have thought to ask:
Is Java Sexy? Simon Morris asks:
"Does Java suffer from an image problem? Is it time we ditched the coffee cup for something new? This looks like a job for... JAVA DUKE!"

On the verge of a major change, Roger Brinkley says
500 Projects is Enough:
"The JavaDesktop community has just hit 500 projects. That's an awesome accomplishment for any community and a milestone worthy of a change."

Finally, Tom White checks in with a new project in
Lift Off:
"Introducing LiFT - a Literate Functional Testing framework for making your web application tests more readable."

In Java Today,

Jini developer Gregg Wonderly recently worked through a challenging synchronization problem while handling class-loading in the Jini Technology Starter Kit, and shares his discoveries in Distributing synchronization across threads. "The Java keyword synchronized is the simplest form of concurrency control in Java. With the advent of the work by Doug Lea and notible others on the new java.util.concurrent package, there are more tools. When dealing with highly contested resources, distributing the locking is key."

Derrick Harris, the editor at Grid Today, takes a look into ISVs (Independent Software Vendors) and their use of "on-demand" computing in the article ISV Takes Road Less Traveled with Grid, On-Demand Solutions. In it, Callidus president and CEO Robert Youngjohns discusses his thoughts on Sun Grid and getting his company's software up and running on Sun Grid. Youngjohns is also a former Sun employee, and as such has a very realistic perspective on Sun Grid.

A recent issue of ACM Queue argues for Breaking The Major Release Habit, by switching to agile methodologies. "Adopting an agile methodology poses its own set of challenges. It is used mostly by early adopters with small colocated teams, it has little tool support, and though the adoption can be done in phases, getting the full benefits of agile development requires sweeping changes to all phases of the project lifecycle."

In today's Forums,
lynggaard seeks the
Best strategy for handling configuration parameters outside EAR file:
"In the old J2EE 1.4 days I would create a directory on the server and place that on the classpath. All configuration files would then go in there and the operator/administrator could then change the config there without opening the EAR file. Now I am moving to the brave new world of Java EE 5, and would like to revisit that strategy... What is the best way to create configuration parameters that are to be administered outdside the EAR file? Is the configuration dir still the way to go, or are there better approaches?"

finder seems to be pushing the javax.sound API pretty far in
Java Sound Changing Encondind PCM to GSM"
"I want to send sound over the network. i have already an application, which captures sound from a microphone, sends raw sound data (byte array) over the network and plays this sound on an other computer. How can I change the encoding from pcm to gsm? I have read that i must use an audioInputStream to do this, but I dont know how."

In today's
News Headlines

Registered users can submit news items for the href=""> News Page using our
news submission
. All submissions go through an editorial review before being
posted to the site. You can also subscribe to the href=""> News RSS

Current and upcoming Java

Registered users can submit event listings for the href=""> Events Page using our href="">events submission form.
All submissions go through an editorial review before being posted to the

Archives and Subscriptions: This blog is delivered weekdays as
the Java
Today RSS feed
. Also, once this page is no longer featured as the
front page of it will be
archived along with other past issues in the href=""> Archive.

Copy and convert your web content into PDF, SVG, and more


<p>Nice article , you have indeed cover the topic with great ...

Nice article , you have indeed cover the topic with great details. I have also blogged my experience on java How Synchronization works in Java . let me know how do you find it.