Servlet响应特别是HTML

时间:2017-12-16 13:07:43

标签: java html servlets

我正在尝试超过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

2 个答案:

答案 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);