我正在尝试超过2天,以了解如何将Servlet的响应放置到HTML页面的特定位置。位置应该在“我想成为!!!”的地方是
<form name="input" action="ExamServlet" method="get">
<table>
<tr>
<th>Nr.</th>
<th>"Here i want to be!!!"</th>
</tr>
<tr>
<td>3+1=4?</td>
<input type="submit" value="Einreichen">
</form>
servlet中的doGet方法如下:
PrintWriter pwritter=response.getWriter();
pwritter.print("here i am ");
RequestDispatcher dis=request.getRequestDispatcher("Exam.html");
dis.include(request, response);
正如大多数有经验的程序员会注意到的那样,我在html表之上获得了“我在这里”的价值。
更准确地说是这个问题:
通过仅使用servlet和HTML,它是否可能是我想要的?如果是的话,小提示将是完美的!如果没有,我应该使用JavaScript吗?没有它,我宁愿......
提前致谢!! Der Kerl
在您需要输入数据的地方之前,先尝试输入html的输出流部分:
pwritter.print("<form name="input" action="ExamServlet" method="get">" +
"<table>"+
"<tr>"+
"<th>Nr.</th>"+
"<th>");
然后把你的数据放在那里:
pwritter.print("here i am ");
然后把静态html剩下的东西。
pwritter.print("</th>"+
"</tr>"+
"<tr>"+
"<td>3+1=4?</td>"+
"<input type="submit" value="Einreichen">"+
"</form>");
然后做dis.forward(request, response);
我建议你采用不同的方法。为什么不通过Ajax通过Ajax调用您的servlet。然后在java脚本函数中捕获响应,然后使用document.getElementById(“someId”)。innerHtml方法插入servlet的响应。
没有页面刷新和提交。只是对servlet的ajax调用,捕获响应并写入响应。