home wiki.fukuchiharuki.me
Menu

実装

コンテキスト内

コンテキスト内の静的ファイルなら直接URLを指定したほうが無駄な処理がない。

item.add(
  new WebMarkupContainer("hoge")
  .add(new SimpleAttributeModifier("src", "moge.jpg"))
);

コンテキスト外

final String imagePath = <ファイルパス>;
Resource image = new DynamicImageResource() {
  @Override
  protected byte[] getImageData() {
    // imagePathから画像のバイト列を取得する
    return <画像のバイト列>;
  }
};
item.add(new Image("hoge", image));

注意しなければならないのはgetImageData()がコールされるのはブラウザが画像を取得するときだということ。 つまり、ページをレンダリングした後、になる。 リソースのファイルパスをセッションから取得しながら、 セッションを上手にディタッチするとファイルパスを取得できくなる。

参照