0

背景: 我有 - Search.jsp、SearchResult.java 和 SearchDetails.java 文件。我需要在表单提交时通过 jquery/(ajax?) 将搜索值发布到 SearchResult servlet,并将结果显示在 1 列表中。之后,该用户可以单击任何行以在同一页面中查看该结果的详细信息。在这种情况下,我的计划是在特定行的单击事件上,我必须通过 jquery-ajax 调用 SearchDetails servlet。

问题: 我现在可以在动态填充的表中获取搜索结果,并且在每一行中我都在 /link 标记中填充结果。1. 请告诉我如何将结果填充到表格中,以便我可以进行分页等。 2. 如何调用 SearchDetails servlet,并将隐藏值存储在动态填充的 td 中。

我的经验:我从过去 1 个月开始研究 jsp、servlet、jquery-ajax。但是.net 持续了 7 年。

搜索.jsp:

<script> 
 $(document).ready(function() { 
     $('#btnSearch').click(function() { 
        $mobileNo = document.getElementById("txtMobileNo").value;
        $.post('BE_AccountSearch', {mobileNo:$mobileNo}, 
        function(responseText){ 
              $('#dvSearchResultSub').html(responseText); 
         }); 
     }); 
 }); 
</script> 
<form id="form" method="post"> 
     <input name="txtMobileNo" id="txtMobileNo" autofocus> 
     <input type="button" id="btnSearch" value="Search"/> 
     <div id="dvSearchResultSub"></div> 
</form> 

SearchResult.java (servlet):

out.println("<table>"); 
for (int i = 0; i < memberList.size(); i++){ 
  out.println("<tr>"); out.println("<td>"); 
  out.println("<a id=\"memberList\" href=\"BE_AccountDetails?uln=" + memberList.get(i).getUsername() + "\">"); 
  out.println(memberList.get(i).getUsername());
  out.println("</a>"); 
  out.println("</td>"); 
 out.println("</tr>"); 
} 
out.println("</table>"); 
out.println("</div>"); 
out.flush(); 
out.close(); 
4

2 回答 2

0

我用于此类任务 jqGrid。它嵌入了ajax。您所要做的就是将其插入您的页面并创建处理查询的 servlet/控制器。

从你的代码看起来一切都很好。不知道问题出在哪里。尝试在打开 FireBug 的 FireFox 中运行它并查看跟踪 - 如果它没有显示动态结果,则应该有错误。

于 2012-05-16T08:24:50.630 回答
0

使用 Java MVC(模型视图控制器)将参数从 jsp 传递到 Java 并返回给 Jsp。你可以在这里得到一些帮助。

要使用 AJAX 在 jsp 上填充表,您可以使用Datatables。数据表在表上提供了很多功能,如分页、搜索、排序等。

我希望这有帮助。如果您已经开始使用代码,请提供一些代码以及您的问题。

于 2012-05-16T06:08:49.177 回答