I need to use ajax feature to load an external div element (an external jsp file) into the current page. That JSP page contains a dynamic content - e.g. content that is based on values received from the current session.
I solved this problem somehow, but I'm in doubt because I think that my solution is bad , or maybe there is better solution since I'm not expert.
I have three files:
Javascript function that is triggered when a TR element is clicked, it requests html data from a servlet:
$("#inboxtable tbody tr").click(function(){
});var trID = $(this).attr('id'); $.post("event?view=read",{id:trID}, function(data){ $("#eventContent").html(data); // load external file },"html"); // type
The servlet "event" loads the data and generates HTML content using include method :
String id = request.getParameter("id"); if (id != null) { v.add("Test"); v.add(id); session.setAttribute("readMessageVector", v); request.getRequestDispatcher("readMessage.jsp").include(request, response); }
Finally: The external readMessage jsp file looks like this:
<p> Text: ${readMessageVector[0]} </p> <p> ID: ${readMessageVector[1]} </p>
My questions
Is this solution good enough to solve this problem - loading external jsp that has dynamic content ?
Is there a better solution ? such as putting all DIVs elements in the same file instead of loading them from an external file , and showing or hiding those elements using javascript/jquery in the same file ? In this way , I will only use the JSON ?