【发布时间】:2010-04-25 19:50:03
【问题描述】:
我需要使用 ajax 功能将外部 div 元素(外部 jsp 文件)加载到当前页面中。该 JSP 页面包含 动态内容 - 例如基于从当前会话接收到的值的内容。
我以某种方式解决了这个问题,但我很怀疑,因为我认为我的解决方案很糟糕,或者因为我不是专家,所以可能有更好的解决方案。
我有三个文件:
-
点击 TR 元素时触发的 Javascript 函数,它从 servlet 请求 html 数据:
$("#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 }); -
servlet“事件”加载数据并使用 include 方法生成 HTML 内容:
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); } -
最后:外部 readMessage jsp 文件如下所示:
<p> Text: ${readMessageVector[0]} </p> <p> ID: ${readMessageVector[1]} </p>我的问题
这个解决方案是否足以解决这个问题 - 加载具有动态内容的外部 jsp?
有没有更好的解决方案?例如将所有 DIV 元素放在同一个文件中,而不是从外部文件中加载它们,并在同一个文件中使用 javascript/jquery 显示或隐藏这些元素?这样,我就只用JSON了?
【问题讨论】: