Since the data is already stored in session, why get JSP's involved with the mailing process. If your site is authenticated, you already would have the user credentials when processing the request. The only task which remains is the formatting of the content. Also, when sending plain text mail, you don't have a lot of formatting options.
One option would be to tab delimit the data but then again it ends up screwing up with the layout since the width of each column would be unknown. A professional way of doing it would be to use a Reporting tool to create a template, hook a stored procedure to your template and control the report generation based on some input parameters. This report template would then be used to generated PDF reports which can be sent as attachments to the client. Another way would be to mail a link to your user which would direct him to a page which displays properly formatted data pulled from the database.
Of the above three, the third one is by far the easiest since it delegates the responsibility of data formatting to a markup language like HTML, something which it was meant for. But then again, if the requirements mandate that the table based data be passed as mail body, you are out of luck.