I have just implemented a tiles controller that sets css styles based on user-agent header automatically.
The layout of the webapps can be easily customised without touching any jsp code nor creating new jsp files, CSS stylesheets are profusely used, no annoying tables, no need for typing different urls according to the browser you’re using, you can check that most of sites in the net are using different urls for pdas and other browsers, e.g. in Google you need to go to www.google.com/palm to see the palm site.
Here you can find the controller documentation
And here some snapshots and the view documentation and tiles configuration file with a sample of setting a custom layout to a Palm pda.