Although I'm not much of a JSP expert, I can tell off the bat that you'll have at least two options:
But I wouldn't use anything client-side, as they'll involve your web server in multiple requests per page.
Your idea is a good one, though, as a navigation menu is reusable code, and an XML representation of it is a good application of the technology. Plus, like you mentioned, you only need to change it once. I would suggest spending some time coming up with a good data model for this XML navigation menu. It'll pay off in the future.
Implementation can be achieved in many different ways. You could send the XML nav menu as part of an entire XML document to be transformed later (by an XSLT) or have JSP use whatever DOM class it uses to load the XML after the browser request, parse it, and rearrange it as HTML for the server response. You might even be able to apply XSLT's on the server (like in .NET).
This XML nav menu is a great idea I think for anyone out there looking for something to DO with XML.