This is just a guess. I've read that standard SSI (server-side includes) may not get polled for updated content--that the webpage with the includes might get cached as an entire webpage (not sure if that's the same for all web containers or web servers or whatever). The jsp:include might make sure you're pulling the freshest changes by avoiding using that cached copy. However, this is just based on memories of reading articles related to this, so don't try to get a man to Mars based on what I'm saying! :roll:
Whether you get to see modified content when you change an included file, static or dynamic, depends entirely on the application server, and even how that server is configured. It's got nothing to do with that.
Static and dynamic includes are totally different.
A static include is merged in with the JSP during the JSP compilation phase. The result is a single servlet which contains the entire content of the JSP and all of its static includes. This means that a static include must be a plain file with JSP content. It also means that a static include has no runtime performance overhead, since it all compiles down to a single Java source file and, ultimately, servlet. If you are familiar with C, it's like an #include.
A dynamic include is never merged like that. It is a separate web-app resource which gets to process the request. The content generated by this resource is included in the JSP response. In other words, a dynamically included JSP is compiled down to a separate servlet. This means that a dynamic include can be any web-app resource, such as a servlet, and does not have to correspond to an actual file on the disk. It also means that a dynamic include incurs some runtime overhead.
- Peter [ July 29, 2004: Message edited by: Peter den Haan ]