It is also possible to create a "mail content jsp" like
mails/orderConfirmed.jsp
mails/sendingYourOrderNotification.jsp
then simply do an http client request "/mails/*.jsp" to obtain the mail content you want.
I think it's a fair use of jsp since you want to generate HTML anyway, and requesting your own server is not bandwidth consuming.
The good thing is that you can do jsp inclusion, or even use more advanced libraries like tiles, jsf, struts, wicket. You don't need to learn a new tool for that, you can use what you already know. Jsps are a quite performant templating engine, they exists since the years 2000.
The bad point is that you can't use your typed variables to compose your jsp, you're limited to strings as request parameters (or a good huge json :-))
It is also a good way to isolate code and even to split servers later if you need performance optimization.