Our application is supposed to serve multiple devices, from simple to smart-phones, IPhones, touch-screens to normal browsers.
Application is layered, so we can reuse the business and persistence layer. However, we would like to program single presentation layer as well. I know for example that ASP .NET generates different html output based on the browser type. http://msdn.microsoft.com/en-us/library/ms178620.aspx
There are even some sites that promise to transform your site to mobile: http://instantmobilizer.com
Is there a java framework capable of producing the presentation that adapts to client browser and device, so that we do not need to program different presentation layer for each device type? What is the standard way to manage multiple devices support requirement in web applications?