Java 是否使用servlet在同一网页上显示数据?
我使用的html表单如下所示:Java 是否使用servlet在同一网页上显示数据?,java,html,jsp,servlets,Java,Html,Jsp,Servlets,我使用的html表单如下所示: <form action="question" method="get"> 其中问题是一个Javaservlet类,它呈现表单中的数据并显示在其他页面上 我想做的是在html表单下方显示这些数据,而不是在其他屏幕上。 (有点像我们在stackoverflow.com中提问的页面,您输入的问题呈现并显示在下面。) 所以我也试着这么做。有人知道怎么做吗? 使用表单创建JSP 在向某个servlet提交post数据时 处理请求并生成结果数据
<form action="question" method="get">
其中问题是一个Javaservlet类,它呈现表单中的数据并显示在其他页面上
我想做的是在html表单下方显示这些数据,而不是在其他屏幕上。
(有点像我们在stackoverflow.com中提问的页面,您输入的问题呈现并显示在下面。)
所以我也试着这么做。有人知道怎么做吗?- 使用表单创建JSP
- 在向某个servlet提交post数据时
- 处理请求并生成结果数据,并将其设置为请求的属性
- 将请求转发到同一个jsp
- 检查表单下显示的数据是否不为空
有条件地显示结果
request.setAttribute("questions", questions);
request.getRequestDispatcher("/WEB-INF/questions.jsp").forward(request, response);
与
有${fn:length(questions)}个问题。
${问题}
另见:
- -包含具体的Hello World示例
- 创建一个html页面,包含两个单独的文本区域框
- 让第一个文本区域框作为输入文本的源。
为其分配一个id“源\区域”
<textarea id='source_area'> </textarea>
完整的html(在Google Chrome中测试)
阅读有关在服务器和客户端之间发送和接收数据的“ajax”调用。
- 最简单的方法是使用javascript(客户端)
下面是一个关于如何做到这一点的非常粗糙的例子。这将给你一个如何进行的想法
Ajax将为您提供将数据发送到servlet的方法,而无需刷新整个页面。您的意思是,表单中的数据在您键入表单时和提交表单之前显示在另一个屏幕上(如在提问时)?如果是,,下面的servlet解决方案不起作用,您需要看一些更基于客户端的解决方案。您知道我应该尝试什么吗?Thanx成功了。但是我如何创建类似于stackoverflow提问页面的解决方案。就像用户类型一样,它会同时将键入的数据呈现为代码html等。这个魔术是由Ajax完成的,它是一个完全独立的主题。要开始使用servlet和Ajax,请从这里开始:我遇到了类似的问题,我尝试了您在上面的回答中所说的,但问题是,当用户刷新页面时,数据会再次输入数据库,因此我的页面会在表单下方显示重复的条目。你能帮忙吗?
<textarea id='destination_area' readonly>
</textarea>
function transferToNextArea()
{
//extracting text.
var varSrcText = document.getElementById("source_area").value;
//assigning text to destination.
document.getElementById("destination_area").value=varSrcText
}
<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>
Example
a) store it in a database before displaying it below.