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 {
Map paramValue = 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