Home Servlets Multiple values for a single parameter
Questions:Ask|Latest


 
 

Share on Google+Share on Google+

Multiple values for a single parameter

Advertisement
In our program it may be that we may have multiples values for a single parameter like in checkboxes.

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

Advertisements

If you enjoyed this post then why not add us on Google+? Add us to your Circles



Liked it!  Share this Tutorial


Follow us on Twitter, or add us on Facebook or Google Plus to keep you updated with the recent trends of Java and other open source platforms.

Posted on: July 14, 2007

Ask Questions?    Discuss: Multiple values for a single parameter   View All Comments

Post your Comment


Your Name (*) :
Your Email :
Subject (*):
Your Comment (*):
  Reload Image
 
 
Comments
Mark
March 6, 2012
Php version

For php is similar but you must especify the parameter name in a odd notation: <form name="form1> <input type="checkbox" name="fieldname[]" value="1"><br> <input type="checkbox" name="fieldname[]" value="2"><br> <input type="submit" name="Submit" value="Submit" > </form> The "[]" array notation for multivalue parameters With most languages you just do it on the normal way
Ravi
March 27, 2012
No Need of Backslash in Html form here

Here we no need to put backslash in action in html form.Here you just put whatever you want "ccc". ANd put the same in web.xml URL pattern /ccc.Then it will work fine. <form action="CCC">---HTML FILE <url-pattern>/ravi</url-pattern>---WEB>XML FILE Then it will work fine. Please dont put any slashes in the action in html file.It wont work and in turn it produces error.
DMCA.com