jsp通过jquery调用2个servlet

时间:2012-05-16 05:20:04

标签: jsp jquery servlets

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

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

我的经历:我正在研究过去1个月的jsp,servlet,jquery-ajax。但是.net持续了7年。

Search.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(); 

2 个答案:

答案 0 :(得分:0)

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

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

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

答案 1 :(得分:0)

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

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