前回までの 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()から、urlFor でJPEG画像を参照を指定する箇所を 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()));