This gives the whole app the same look and feel and all the developer needs to deal with is page content
But if I have a header.jsp and a footer.jsp and then pages like page1.jsp, page2.jsp with the same html structure (copy-paste, maybe from a simple html file that could be considered a layout...), and in these pages I insert at the beginning the header.jsp and at the end footer.jsp with includes, I have the same look and feel also.
With Tiles I have the same but the developer far from deal only with page content needs to create the layout, and with Struts she needs to deal with the xml definitions, create a nonoperational Action and deal with the configuration of Struts. More complex, more or less same results.
Consider a site that has a header, footer, and content -- each of which can be changed
In this case I think we could have in page1.jsp an if condition. If the parameter we receive is header=header1, we will put the include with header1. If the parameter is header2, we will put the include with header2. And neither these parameters nor others we could be getting from a form need to appear in the URL if we use POST
Simpler solutions, almost same results. Yes, Tiles could be more nice to see but I can't see real advantages in comparison with the added complexity. Maybe if you need to change everything in an application after all the development... but even then you could change the includes with no difficulty... and in Tiles maybe you will need to change the definitions and the layouts and the struts configuration, I suppose it's not so easy.
I really WANT to find a good advantage to introduce Tiles in the project (must be useful, if people have developed it) but I am not able to find any!