Wicket-menu(3)

前回までの Wicket menu の修正は、Wicket 1.4 であった。
1.5 に対応するようにする場合、以下の修正ポイントがある。

com.cooldatasoft.common.WicketMenu が、IHeaderContributor をimplementしているが
Wicket 1.5 では implement できないので廃止する。

org.apache.wicket.markup.html.IHeaderResponse JavaScript のrenderメソッド名が
変わってることに対応したり、
  renderJavascriptReference → renderJavaScriptReference

CompressedResourceReference を使って、CSS 参照させていたのを
org.apache.wicket.request.resource.PackageResourceReference を使うことにしたり、
変更をして、Wicket 1.5 に対応した。

com.cooldatasoft.horizontal.dropdown.sunrisegloss を Wicket 1.5 に対応させるのに苦労したのは、
RequestCycle.get()から、urlForJPEG画像を参照を指定する箇所を String にして、
imgタグを作成する com.cooldatasoft.common.StaticImage に Model で渡しているところであった。

オリジナルは、(Wicket 1.4)
ResourceReference bgLeft = new ResourceReference(SunriseGlossDropDownMenu.class,"images/nav-bg-l.jpg");
StaticImage bgLeftImage = new StaticImage("bgLeft",new Model(RequestCycle.get().urlFor(bgLeft).toString()));

Wicket 1.5 に対応させるには、、、urlFor に渡す引数を修正する
StaticImage bgLeftImage = new StaticImage("bgLeft",new Model(getRequestCycle().urlFor(
new PackageResourceReference(SunriseGlossDropDownMenu.class,"images/nav-bg-l.jpg"),new PageParameters()).toString()));