リッチレットの実装後、以下のステートメントを使用したzk.xmlの中でリッチレットを定義します。
<richlet> <richlet-name>Test</richlet-name><richlet-class>org.zkoss.zkdemo.TestRichlet</richlet-class> </richlet>
リッチレットを宣言すると、以下に示すように、richlet-mappingを使用して、リッチレットをいくつものURLにマッピングできます。
<richlet-mapping> <richlet-name>Test</richlet-name> <url-pattern>/test</url-pattern> </richlet-mapping> <richlet-mapping> <richlet-name>Test</richlet-name> <url-pattern>/some/more/*</url-pattern> </richlet-mapping>
デフォルトではリッチレットは使用できません。リッチレットを使用可能にするには、web.xmlに以下の宣言を追加しなければなりません。
使用可能にした後、web.xmlを変更しないで、リッチレットを追加することができます。
<servlet-mapping><servlet-name>zkLoader</servlet-name><url-pattern>/zk/*</url-pattern></servlet-mapping>
そして、http://localhost/zk/testにアクセスし、リッチレットを参照できます。
url-pattern要素中で指定されたURLは/で始まります。URIの最後は/*になっている場合は、同じプレフィックスのすべてのリクエストに一致します。
本当のリクエストを取得するには、現在のページのgetRequestP_athメソッドが返した値をチェックします。
public void service(Page page) { if ("/some/more/hi".equals(page.getRequestPath()) { ... }}
【ヒント】:url-patternに/*を指定することで、マッピングされたリッチレットにすべてのURLをマップできます。