网页上的新行 - Java servlet

时间:2014-12-04 18:37:23

标签: eclipse tomcat java-ee servlets

我是学习Java Servlet的新手。我试图通过POST查询(Apache Tomcat v8.0)使用一个简单的html表单传递参数,该表单生成两个输入字段'UserName'和'FullName'。 但是代码运行得很好;我希望'UserName'和'FullName'显示在单独的新行上,我无法通过在println()函数中使用“/ n”来实现。 这是我的POST查询代码。

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    // TODO Auto-generated method stub
    response.setContentType("text/html");
    PrintWriter out= response.getWriter();
    String User_name = request.getParameter("UserName");
    String Full_name = request.getParameter("FullName");
    out.println("\nHello from POST method!");
    out.println("\nYour UserName is: " +User_name);
    out.println("\nYour FullName is: " +Full_name);
}

1 个答案:

答案 0 :(得分:3)

\n是文字换行符。在浏览器中查看源代码,您会看到\n在HTML源代码中为您提供了换行符。问题是,浏览器不会在呈现的HTML中将\n显示为换行符。这是因为要在HTML中创建换行符,您可以使用<br />作为换行符,或者将您的行换行到以<p>开头并以</p>结尾的段落。如果您要进行JSP / Servlet开发,则需要学习HTML的基础知识。

所以:

 out.println("<p>Hello from POST method!</p>"); 
 out.println("<p>Your UserName is: " + User_name + "</p>"); 

 out.println("Hello from POST method!"); 
 out.println("<br />Your UserName is: " + User_name); 

也不建议直接在这样的servlet中打印HTML。您应该设置一个请求属性并转发到充当视图的JSP。这在Servlets info page中有很好的解释。

只是未来的暗示:在服务器上更改了某些内容的帖子(保存到数据库或其他内容)之后,您将需要执行服务器端重定向以防止双重发布。