我正在尝试超过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
答案 0 :(得分:0)
我建议你采用不同的方法。为什么不通过Ajax通过Ajax调用您的servlet。然后在java脚本函数中捕获响应,然后使用document.getElementById(“someId”)。innerHtml方法插入servlet的响应。
没有页面刷新和提交。只是对servlet的ajax调用,捕获响应并写出响应。
答案 1 :(得分:0)
在您需要输入数据的地方之前先尝试输入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);