[Wicket-ja-user 393] Re: リソースのマウント/URIについて

Back to archive index

Tsutomu Yano t_yano****@me*****
2010年 1月 13日 (水) 04:52:49 JST


岩室さん

矢野です。
ソースをいろいろ追ってみましたが,SharedResourceが指す物理的なファイルに対して静的なURLを指定するのは難しいように思いました。

Twitterなんかで英語圏ユーザにも聞いてみたりしましたが,一番簡単な方法は,<wicket:link>に頼らないことのようですね。


<wicket:link>ではなく,<wicket:remove>で囲うことによって,HTMLファイルとしてのプレビューが崩れることなく,プログラムから特定のリソースをバインドすることが出来ます。<wicket:link>が使えたほうが簡単なのは明白なんですが,一つの案として。

1 リンク部分を<wicket:remove>でくくることでWicket的にはその部分を消滅させます。HTML的には意味があるのでプレビューは出来ます
2 該当HTMLを使うPageサブクラスで,次のような感じで,固定のクラスをscopeに指定してSharedResourceを追加します。

add(new HeaderContributor(CSSPackageResource.getHeaderContribution(Stylesheet.class,"default.css")));

これによりStylesheet.classと同じ場所にあるdefault.cssへのlinkがHTMLヘッダに追加されます。cssのある場所にJavaクラスが存在しない場合は,ダミーでもなんでもいいので一つ作ればいいでしょう。

3 ApplicationのgetSharedResources().putClassAlias()を使って,上記のクラスにエイリアスを設定する


一応,これで該当リソースへのURLは常に固定されるようになります。


しかしまあ,スマートとはちょっと言えないですね。できればHTMLを修正したらHTMLプレビューもプログラムも同時に更新されるほうがいいですし。どっちかというとワークアラウンド,回避策,という感じです。
案として書いておきます。


なんかほかにいい案があればいいんですが。



---------------------------------------------------
矢野 勉(やの つとむ)
電子メール: t_yano****@me*****
---------------------------------------------------




Wicket-ja-user メーリングリストの案内
Back to archive index