Multiple values for a single parameter
In our program it may be that we may have multiples
values for a single parameter like in checkboxes. We are going to make one
program over it.
To make such a servlet which we have made one html form
from where the values will be passed to the controller. In this program we have
used the checkbox which will have the same name but with different values. We
have one more button submit, on pressing this button the request will be
forwarded.
Now in the servlet that is working like a controller
will retrieve the values we have entered in the html form by the method getParameterValues()
which returns the array of String. At last to retrieve all
the values from the array use the for loop. The output will be displayed
to you by the PrintWriter object.
The code of the program is given below:
Index.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Insert title here</title>
</head>
<body>
<form method = "post" action = "/GetParameterServlet/GetParameterValues">
<p>Which of the whisky you like most</p>
<input type = "checkbox" name ="whisky" value = "RoyalChallenge">
RoyalChallenge.<br>
<input type = "checkbox" name ="whisky" value = "RoyalStag">RoyalStag.<br>
<input type = "checkbox" name ="whisky" value = "Bagpiper">Bagpiper.<br>
<input type ="submit" name= "submit">
</form>
</body>
</html>
|
GetParameterValues.java
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class GetParameterValues extends HttpServlet{
protected void doPost(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter pw = response.getWriter();
String[] whisky = request.getParameterValues("whisky");
for(int i=0; i<whisky.length; i++){
pw.println("<br>whisky : " + whisky[i]);
}
}
}
|
web.xml file for this program:
<?xml version="1.0" encoding="ISO-8859-1"?>
<!--<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd"> -->
<web-app>
<servlet>
<servlet-name>Hello</servlet-name>
<servlet-class>GetParameterValues</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Hello</servlet-name>
<url-pattern>/GetParameterValues</url-pattern>
</servlet-mapping>
</web-app>
|
The output of the program is given below:
Here is the result of the above selection:
Download
this example