2014-12-04 59 views
-3

上新線我是新來學習的Java Servlet。我試圖通過使用產生兩個輸入字段「用戶名」和「全名」一個簡單的HTML表格通過POST查詢(的Apache Tomcat V8.0)參數。 但是代碼運行正常;我想「用戶名」和「全名」,以顯示不同的新生產線,我不能用「/ N」裏面的println()函數做到這一點。 這是我的POST查詢代碼。一個web頁面級的Java servlet

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

\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中有很好的解釋。

對未來只是一個提示:它改變的東西在服務器上的一個帖子之後(保存到數據庫或其他),你會想要做一個服務器端重定向,以避免重複張貼。

+0

正是我一直在尋找。謝謝一堆! – 2014-12-05 00:45:55

相關問題