Zugriff auf die in der URL in Applet übergebenen Parameter
Häufig muss Applet die in der URL übergebenen Parameter lesen. Zum Beispiel,
URL
http://.../applet/testIt.html?test.html?key1=value1&key2=value2&key3=value3
Applet ist erforderlich, um die Parameterwerte zu lesen
key1=value1&key2=value2&key3=value3
In diesem Beispiel sehen Sie, wie Applet auf die Parameter "key1 = value1 & key2 = value2 & key3 = value3" zugreifen kann.
1. Erstellen Sie eine Applet-Klasse
Während der Applet-Initialisierung ruft Applet die vollständige URL mit der Methode "getDocumentBase (). ToString ();" ab, analysiert den Parameter nacheinander und speichert ihn zur späteren Verwendung in HashMap.
package com.example.applet; import java.applet.*; import java.awt.Graphics; import java.util.HashMap; import java.util.Map; import java.util.StringTokenizer; public class AppletExample extends Applet { MapparamValue = new HashMap (); public void init() { String url = getDocumentBase().toString(); if (url.indexOf("?") > -1) { String paramaters = url.substring(url.indexOf("?") + 1); parseParam(paramaters); } } //parse the URL parameter private void parseParam(String parameters){ StringTokenizer paramGroup = new StringTokenizer(parameters, "&"); while(paramGroup.hasMoreTokens()){ StringTokenizer value = new StringTokenizer(paramGroup.nextToken(), "="); paramValue.put(value.nextToken(), value.nextToken()); } } public void paint( Graphics g ) { int x = 20; int y = 50; int counter = 10; for (Object key: paramValue.keySet()) { g.drawString("key : " + key + " value : " + paramValue.get(key),x,y+counter); counter += 10; } } }
2. Erstellen Sie eine HTML-Seite
Erstellen Sie eine einfache HTML-Seite und schließen Sie das Applet ein.
Testing
3. Starte es
Doppelklicken Sie auf Ihre HTML-Seite. Das Applet zeigt folgendes Ergebnis an:
key : key3 value : value3 key : key2 value : value2 key : key1 value : value1