アプレットでURLに渡されたパラメータにアクセスする方法

多くの場合、アプレットはURLで渡されたパラメータを読み取る必要があります。例えば、

URL

http://.../applet/testIt.html?test.html?key1=value1&key2=value2&key3=value3

アプレットは、パラメータ値を読み取る必要があります

key1=value1&key2=value2&key3=value3

この例では、アプレットがどのようにパラメータ「key1 = value1

1. Appletクラスを作成する

アプレットの初期化段階で、アプレットは "getDocumentBase()。toString();"メソッドで完全なURLを取得し、パラメータを1つずつ解析し、後で使用するためにHashMapに格納します。

package com.mkyong.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<String, String> paramValue = new HashMap<String, String>();

   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. HTMLページを作成する

単純なHTMLページを作成し、アプレットをインクルードします。

Testing

3.それを実行する

HTMLページをダブルクリックすると、アプレットの表示結果が表示されます:

key : key3 value : value3
key : key2 value : value2
key : key1 value : value1

アプレット リンク://タグ/パラメータ/[パラメータ] url