java - 使用 Servlet 在同一网页上显示数据?

标签 java html jsp servlets

我正在使用这样的 html 表单:

      <form action="question" method="get">

其中问题是一个 java servlet 类,它呈现表单中的数据并显示在其他页面上。

我想要做的是将这些数据显示在 html 表单下方,而不是显示在其他屏幕上。 (有点像我们在 stackoverflow.com 中提问的页面,您输入的问题将在下面呈现并显示。)

所以我正在尝试做同样的事情。有人知道如何做到这一点吗?

最佳答案

最简单的方法是使用 javascript(客户端)。

下面是一个关于如何执行此操作的非常粗略的示例。这将使您了解如何继续。

  1. 创建一个 html 页面,其中包含两个单独的文本区域框。

  2. 让第一个文本区域框成为您输入文本的源。 为其分配一个 id“source_area”。

    <textarea id='source_area'>
    </textarea>
    
  3. 让第二个文本区域框作为目标。 为其分配一个 ID“destination_area”。

    将此区域设置为“只读”,因为您不希望用户直接在此处键入。

    <textarea id='destination_area' readonly>
    </textarea>
    
  4. 现在,当用户在第一个框中键入内容时,我们需要捕获特定的操作。 在本例中,我将使用“onKeyUp”来捕获释放键盘按键时的事件。

    现在,当在源文本框中输入内容时,释放键盘上的一个键,它将调用 JavaScript 函数“transferToNextArea()”。 我们将在

    中创建 JavaScript 函数“transferToNextArea()”

    在此处了解有关 javascript 的更多信息。
    http://w3schools.com/js/js_events.asp
    完整的事件列表请参见此处。
    http://w3schools.com/jsref/dom_obj_event.asp

  5. JavaScript 函数将从“source_area”文本框中提取文本。 然后它会将相同的文本分配给“destination_area”。

    function transferToNextArea()
    {
        //extracting text.
        var varSrcText = document.getElementById("source_area").value;  
    
        //assigning text to destination.
        document.getElementById("destination_area").value=varSrcText
    
    }
    

完整的 html(在 Google Chrome 中测试)

<html>
    <body >
        Source Box
        <textarea id='source_area' onKeyUp="transferToNextArea();">
        </textarea>
        <br>
        Destination Box
        <textarea id='destination_area' readonly>
        </textarea>
    </body>
    <script type="text/javascript">
        function transferToNextArea()
        {
            var varSrcText = document.getElementById("source_area").value;
            document.getElementById("destination_area").value=varSrcText

        }

    </script>
   </html>

这只是一个非常基本的示例。它不是很有效,但它会让您了解如何移动数据。 在分配文本之前,您可以使用 javascript 任意操作文本。

Stackoverflow 在提取文本后根据 html 标签格式化文本。这将需要更多的代码和更多的工作。

使用 servlet 来完成上述任务有点过分了。 仅当您想对服务器端的数据执行某些操作时,您才会使用 servlet。

Example
    a) store it in a database before displaying it below.

阅读有关在服务器和客户端之间发送和接收数据的“ajax”调用的信息。 Ajax 将为您提供将数据发送到 servlet 的方法,而无需刷新整个页面。

关于java - 使用 Servlet 在同一网页上显示数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9395604/

相关文章:

java - 如何解压并且解压时不创建子目录

html - 带有css的事件链接向下滑动

javascript - 如何将混合内容解析为React组件?

java - Java 中类似 Facebook 的通知实现

java - 如何使用showModalDialog传递参数

java - JSP上显示的内容

java - 如何在 Apache Spark 中聚合时间序列数据

java - jsoup 获得特定值

java - 警告消息/弹出日期/时间

php - 在表中显示数据库中的数据