Zugriff auf Parameter, die in der URL in Applet übergeben werden

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