0

テンプレートクライアントで h:graphicImage を使用して単純な画像をレンダリングするために、できる限りのことを試しました。私のイメージは戦争の中ではなく、同じディスクの別の場所にあります。

実際には、「alt」属性が表示されたり、画像が見つからないという警告が表示されたりしていません。私の画像が見つかり、おそらく h:graphicImage で指定した幅と高さの空のフレームとしてレンダリングされます。この空のフレームには背景の色があります。

この例が見つからないので、外部の場所から画像をレンダリングする方法を知っている人はいますか?

ありがとうございました!

4

1 に答える 1

1

最も簡単な方法は、OmniFaces o:graphicImage を使用することです。ファイルシステムからファイルのパスを受け取り、java.io.InputStream を返すメソッドを使用して、javax.faces.bean.ApplicationScoped Bean を作成します。そのように:

ジャワ:

@Named
@ApplicationScoped
public class FileReader {

public InputStream getImageByPath(String filename) throws FileNotFoundException{
        return new FileInputStream(new File(filename));
}

}

JSF:

<html xmlns:o="http://omnifaces.org/ui">

<o:graphicImage value="#{fileReader.getImageByPath('/opt/images/admin/112/IMG_1292.JPG')}"/>
于 2016-07-20T14:33:44.883 に答える