アプレットのURLで渡されたパラメーターにアクセスする方法
多くの場合、アプレットはURLで渡されたパラメーターを読み取る必要があります。 例えば、
URL
http://.../applet/testIt.html?test.html?key1=value1&key2=value2&key3=value3
アプレットはパラメータ値を読み取る必要があります
key1=value1&key2=value2&key3=value3
この例では、アプレットがどのようにパラメーター「key1 = value1&key2 = value2&key3 = value3」にアクセスできるかがわかります。
1. アプレットクラスを作成する
アプレットの初期化段階で、アプレットは「getDocumentBase()。toString();」メソッドで完全なURLを取得し、パラメーターを1つずつ解析し、後で使用できるように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. HTMLページを作成する
単純なHTMLページを作成し、アプレットを含めます。
Testing
3. それを実行します
HTMLページをダブルクリックすると、次の結果がアプレットに表示されます。
key : key3 value : value3 key : key2 value : value2 key : key1 value : value1