I've worked on more than 2 Dozen Java Web Applications in different companies and with various teams and every time I felt these applications lagged in UI compare to PHP applications. Don't get me wrong I'm trying to understand and find solution to problems what I'm seeing and I could easily learn from your exposure and experience or may be we all can understand whats happening.
Though most of the teams I've worked with were extremely talented and we wrote huge large scale applications and in fact we also had UI experts on these projects, then why couldn't we write great UI?
I feel there are two reason's for this firstly these teams are dominated by Java guys who mostly like working on server side code and they really don't enjoy working on UI and they spend enormousness time fixing performance, and other server side issues which hardly are issues for some project for an example in one of my project we spend weeks trying to fix application performance which is hardly used by 10 users per day.
Secondly most of the Java Web Applications use MVC frameworks such as (Struts, Spring MVC, JSF) and these framework requires java knowledge so most of the UI is written by Java Developers but most of people would argue that there is no harm in doing this. Though I feel there is a small issue with this practice that is since UI is written by Java Developers and they tend to use Tag Library which makes code unreadable for most of the UI Experts and hence there contribution is restricted.
If my above arguments hold good then this is what I can think of improving the situation
I feel we can take out lot of benefits by doing this.
1. UI Experts can parallel work on UI and that will give then a sense of ownership and we can see the results
2. Server Side guys can spend good amount of time on there domain of choice and be more productive.