【问题标题】:Javascript / jQuery to Servlet communicationJavascript/jQuery 到 Servlet 通信
【发布时间】:2013-04-17 18:37:33
【问题描述】:

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

请看下面的答案。

【问题讨论】:

  • 你能发布一个 DWR 的例子吗?
  • 我不熟悉 DWR 抱歉

标签: java jquery ajax jakarta-ee


【解决方案1】:

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

jsp页面是这样的

<select class="target1">
   <option >Select type</option>
   <option >computer</option>
   <option >camera</option>
   <option >sound System</option>
   <option >battery</option>
</select>

<select class="target2">
    <option >Select type</option>
</select>

在从 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("<option >1</option>");
                   out.println("<option >2</option>");
                   out.println("<option >3</option>");
                   out.println("<option >4</option>");
            }else{}


        } finally {            
            out.close();
        }
    }

执行此代码后,您应该进入选择target2

1
2
3
4

正如您现在所了解的,您可以随意自定义它。

【讨论】:

  • 谢谢你的例子,我猜你错过了发布 web.xml !
  • 是的,我认为这很容易理解
猜你喜欢
  • 2015-07-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-06
相关资源
最近更新 更多