That is the problem: you are expecting this to work like HTML frames. Tiles and frames are different. In fact, the tiles you specify indicate how ONE HTML file should be built, piece by piece. When it boils down to the final rendering, you will see one giant FLAT (non-framed) HTML file which is a conglomerate of all the Jsps you have specified in your Tiles definition. Loading or reloading a page causes new HTML to be rendered for the entire page. It is useful to have HTML comments in your JSPs so you know where each one starts and stops, as these are visible when you view source.