11/08/2018, 18:47

Ví dụ đọc tất cả Parameters của Form trong Servlet

Ví dụ truyền CheckBox trong Servlet Ví dụ đọc tất cả Parameters của Form trong Servlet Trong ví dụ này chúng ta sử dụng phương thức getParameterNames() của HttpServletRequest để đọc tất cả các tham số của HTML Form. Phương thức này trả về một Enumeration chứa các tên tham số ...

Ví dụ truyền CheckBox trong Servlet

Ví dụ đọc tất cả Parameters của Form trong Servlet

Trong ví dụ này chúng ta sử dụng phương thức getParameterNames() của HttpServletRequest để đọc tất cả các tham số của HTML Form. Phương thức này trả về một Enumeration chứa các tên tham số theo một thứ tự không xác định.

Đối với Enumeration, chúng ta có thể lặp Enumeration theo cách chuẩn bằng cách sử dụng phương thức hasMoreElements() để xác định khi nào dừng lại và sử dụng phương thức nextElement() để lấy từng tên tham số.

File: ReadParamsAction.java trong package vn.viettuts

package vn.viettuts;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.Enumeration;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

//Extend HttpServlet class
public class ReadParamsAction extends HttpServlet {
    // Method to handle GET method request.
    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

        // Set response content type
        response.setContentType("text/html");

        PrintWriter out = response.getWriter();
        String title = "Reading All Form Parameters";
        String docType = "<!doctype html public "-//w3c//dtd html 4.0 " 
                + "transitional//en">
";

        out.println(docType +
            "<html>
" +
            "<head><title>" + title + "</title></head>
" +
            "<body bgcolor = "#f0f0f0">
" +
            "<h1 align = "center">" + title + "</h1>
" +
            "<table awidth = "100%" border = "1" align = "center">
" +
            "<tr bgcolor = "#949494">
" +
                "<th>Param Name</th>" +
                "<th>Param Value(s)</th>
"+
            "</tr>
"
        );

        // get all parameters of form
        Enumeration paramNames = request.getParameterNames();

        // read parameters
        while (paramNames.hasMoreElements()) {
            String paramName = (String) paramNames.nextElement();
            out.print("<tr><td>" + paramName + "</td>
<td>");
            String[] paramValues = request.getParameterValues(paramName);

            // Read single valued data
            if (paramValues.length == 1) {
                String paramValue = paramValues[0];
                if (paramValue.length() == 0)
                    out.println("<i>No Value</i>");
                else
                    out.println(paramValue);
            } else {
                // Read multiple valued data
                out.println("<ul>");

                for (int i = 0; i < paramValues.length; i++) {
                    out.println("<li>" + paramValues[i]);
                }
                out.println("</ul>");
            }
       }
       out.println("</tr>
</table>
</body></html>");
    }
    
    // Method to handle POST method request.
    public void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        doGet(request, response);
    }
}

Cấu hình servlet trong file web.xml

<servlet>
    <servlet-name>ReadParamsAction</servlet-name>
    <servlet-class>vn.viettuts.ReadParamsAction</servlet-class>
</servlet>

<servlet-mapping>
    <servlet-name>ReadParamsAction</servlet-name>
    <url-pattern>/ReadParamsAction</url-pattern>
</servlet-mapping>

Tạo trang index.html

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
</head>
<body>
  <form action="ReadParamsAction" method="POST">
    <input type="checkbox" name="toan" checked="checked" /> Toan 
    <input type="checkbox" name="ly" /> Vat Ly
    <input type="checkbox" name="hoa" checked="checked" /> Hoa Hoc 
    <input type="submit" value="Chon Mon Hoc" />
  </form>
</body>
</html>

Demo

Ví dụ đọc tất cả Parameters của Form trong Servlet

Click “Chon Mon Hoc”

Ví dụ đọc tất cả Parameters của Form trong Servlet
Ví dụ truyền CheckBox trong Servlet
0