Advanced Java Services | Header und Formulare auslesen mit Scriptlets |
Mit Hilfe des impliziten Objekkts request ist das kein Problem. Hier eine Fassung, die ein größeres Scriptlet verwendet.
<p><b>Auslesen des kompletten Headers mit dem impliziten Objekt request<br/><br/> <% Enumeration<String> enu = request.getHeaderNames(); for(;enu.hasMoreElements();) { String key = enu.nextElement(); String value = request.getHeader(key); out.println("key = " + key + "<br/>" ); out.println("value = " + value + "<br/>" ); } %> </b></p>
Das folgende Formular enthält so ungefähr alles, was in einem Formular vorkommen kann. Der Name eines Formulars wird höchstens für Javascript gebraucht. man kann ihn aber über ein verstecktes Feld auch in einer Java Server Page auslesen. Falls das unter action aufzurufende Ziel die Quelle ist kann das Attribut action weggelassen werden.
<form name="mygetform" method="get" action="Form.jsp" > Vorname : <input type="text" name="vorname"><br/> Nachname: <input type="text" name="nachname"><br/> Bevorzugtes Verkehrsmittel:<br/> <input type="checkbox" name="fahrzeug" value="Fahrrad">Fahrrad<br/> <input type="checkbox" name="fahrzeug" value="Auto">Auto<br/> <input type="checkbox" name="fahrzeug" value="Bus&Bahn">Bus oder Bahn<br/> Geschlecht:<br/> <input type="radio" name="sex" value="male">männlich<br/> <input type="radio" name="sex" value="female">weiblich<br/> <input type="hidden" name="htmlFormName" value="myGetForm"/> Ihr Traumauto:<br/> <select name="cars"> <option value="lambo">Lamborgini</option> <option value="merc" selected>Mercedes Coupe</option> <option value="bmw">BMW Z4</option> <option value="golf">VW Golf</option> </select><br/><br/><br/><br/><br/> <input type="submit" value="submit"> <input type="reset" value="reset"> </form> <br/> <%@ page import = "java.util.*" %> <% Map<String, String[]> map = request.getParameterMap(); if(map!=null) { Set<String> keys = map.keySet(); for (String key : keys) { String[] values = map.get(key); out.println("key: " + key + "<br/>"); for(int i=0; i< values.length; i++) out.println("values["+i+"]: " + values[i] + "<br/>"); } } %>