【问题标题】:Change DIV tag content dynamically with JSP code使用 JSP 代码动态更改 DIV 标记内容
【发布时间】:2012-12-08 14:18:01
【问题描述】:

我会时不时地描述一下这个东西是如何工作的,然后是我希望达到的目标:

我有一个基本的 HTML 页面,它有一个文本框和一个 发送 按钮。当我键入一些字符串并单击按钮时,此请求会到达 Servlet。 servlet 做了一些事情,然后将 req&resp 重定向到一个 jsp 文件 (getServletContext().getRequestDispatcher("myJSP.jsp").forward(req, resp);)

所以基本上,当有人在文本框中输入内容并点击发送按钮时,他会得到一个由myJSP.jsp生成的新页面 文件。

有什么方法可以代替获得一个完整的新文件,我希望 myJSP.jsp 生成的结果显示在同一个主页中,比如说在文本框(在 DIV 标记中?)。

我怎样才能实现这样的行为?

【问题讨论】:

  • 这基本上只是在问如何做 ajax... 太宽泛了。也许阅读一些教程,如果您遇到困难,请返回特定问题?

标签: java javascript html jsp servlets


【解决方案1】:

您必须使用 javascript 执行异步请求,以便页面不会为用户重新加载。服务器必须返回一个响应,然后您可以使用 javascript 附加到页面。

这种技术称为ajax。 JQuery javascript 库 (documentation) 的 ajax() 函数是用于执行 ajax 请求的流行工具(除了大量其他方式)

【讨论】:

    【解决方案2】:

    尝试做 jquery $.ajax() 函数,首先下载 jquery.js 并将其保存到您的项目文件夹并找到它。如下:

    <head>
     <script src="../resources/jquery.js"></script> <script src="../resources/jquery.js"></script>
    </head>
    
    <body>
       <input type="text"><input class="button" type="button" value="Click">
    <div></div>
    <script>
        $(".button").click(function () {
            $.ajax({
                  url: "ajax.html",
                  cache: false
                }).done(function( html ) {
                  $("div").append(html);
                });
            });
    </script>
    </body>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-03-04
      • 1970-01-01
      • 1970-01-01
      • 2012-08-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多