Javascript / jQuery到Servlet的通信

我之前正在寻找这个,并且对我得到的答案感到困惑,所以我想为此写一个完整的代码。 这是我未来的工作,我希望有人能从中受益。

请参阅下面的答案。

这可以通过js和jquery来解决。 但由于jquery更容易和更短,所以我只是为此编写代码。 在这种情况下,我将在html / jsp页面中更改选择时进行ajax调用

Jsp页面看起来像这样

  

这里从target1中选择我想在target2选择中显示另一个列表。 为此,jquery函数如下所示

 $('.target1').change(function() { $.ajax({ $('.target2').empty(); url: 'http://localhost:8080/YourAppName/ServletName', data: {selectedValue: $(this).val()}, success: function(response) { $('.target2').append(response); } }); }); 

在这里,我指向target1并在内部进行ajax调用。 最初我将target2选择为空。 然后通过url调用servlet并使用data传递值。 成功后我只是将结果附加到target2选择中

在ServletName(servlet)中,我编写以下代码:

 protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String selectedItem = request.getParameter("selectedValue"); productList = connDB.getProduct(query); response.setContentType("text/html;charset=UTF-8"); PrintWriter out = response.getWriter(); try { if(selectedItem == (Your Condition)){ out.println(""); out.println(""); out.println(""); out.println(""); }else{} } finally { out.close(); } } 

执行此代码后,您应该进入选择目标2

 1 2 3 4 

您现在可以理解,无论如何都可以自定义它。