निम्न एक सामान्य उदाहरण है जो HttpServletRequest के getParameterNames() मेथड का उपयोग करके सभी उपलब्ध फॉर्म पैरामीटर्स को पढ़ता है। यह मेथड एक Enumeration लौटाता है जिसमें अनिर्दिष्ट क्रम में पैरामीटर नाम होते हैं।
एक बार हमारे पास Enumeration होने पर, हम मानक तरीके से Enumeration के माध्यम से लूप कर सकते हैं, hasMoreElements() मेथड का उपयोग करके यह निर्धारित करने के लिए कि कब रुकना है और प्रत्येक पैरामीटर नाम को प्राप्त करने के लिए nextElement() मेथड का उपयोग करके।
JSP कोड
<%@ page import="java.io.*,java.util.*" %>
<html>
<head>
<title>HTTP Header Request Example</title>
</head>
<body>
<center>
<h2>HTTP Header Request Example</h2>
<table width="100%" border="1" align="center">
<tr bgcolor="#949494">
<th>Param Name</th>
<th>Param Value(s)</th>
</tr>
<%
Enumeration paramNames = request.getParameterNames();
while (paramNames.hasMoreElements()) {
String paramName = (String) paramNames.nextElement();
out.print("<tr><td>" + paramName + "</td>\n");
String paramValue = request.getParameter(paramName);
out.println("<td> " + paramValue + "</td></tr>\n");
}
%>
</table>
</center>
</body>
</html>
Hello.htm (टेस्ट फॉर्म)
<html>
<body>
<form action="main.jsp" method="POST" target="_blank">
<input type="checkbox" name="maths" checked="checked" /> Maths
<input type="checkbox" name="physics" /> Physics
<input type="checkbox" name="chemistry" checked="checked" /> Chem
<input type="submit" value="Select Subject" />
</form>
</body>
</html>
परिणाम
उपरोक्त Hello.htm का उपयोग करके JSP को कॉल करने का प्रयास करें; यह प्रदान किए गए इनपुट के आधार पर नीचे जैसा परिणाम उत्पन्न करेगा:
सभी फॉर्म पैरामीटर्स पढ़ना
| Param Name | Param Value(s) |
|---|---|
| maths | on |
| chemistry | on |
महत्वपूर्ण सुधार
मूल कोड में request.getHeader(paramName) का उपयोग किया गया था जो गलत है (हेडर्स ≠ पैरामीटर्स)। सही मेथड request.getParameter(paramName) है। उपरोक्त कोड में इसे ठीक किया गया है।
अतिरिक्त: एकाधिक मान वाले पैरामीटर्स के लिए
String[] values = request.getParameterValues(paramName);
if (values != null) {
for (String val : values) {
out.print(val + ", ");
}
}