2

私はJavaプロジェクト(Spring)を持っています。フォルダー「画像」から画像のリストを取得し、そのうちの1つをランダムに選択する必要があります。war ファイルのこのディレクトリからファイルのリストを取得する際に問題があります。どのクラスを使用できますか? また、フォルダへのパスを設定するにはどうすればよいですか? 助けてくれてありがとう!

PS私は私の画像フォルダからランダムな画像の名前を与えるべきサービス(コントローラではない)を使用していますか?次のようになります。

<body style="background: url(request.getContextPath() + RandomBackgroundService.getRandomBackground()) ...

私のサービスはどのように見えますか?

4

3 に答える 3

0

クラスから画像ディレクトリにアクセスしようとしている場合、これは機能するはずです:

File imagesFolder = MyClass.getResource("images").getFile();
for (File image : imagesFolder.listFiles()) {
    // TODO: Figure out your random logic.
}

のドキュメントを読むとClass.getResource()、アプリケーション内のリソースにアクセスする方法を決定する際にも役立ちます。

于 2013-11-01T19:54:04.293 に答える
0

まず、「ターゲット」ディレクトリを無視します。これは、maven が処理の結果を配置する場所です。

実行時に WAR ファイル ディレクトリからデータを取得する必要がある場合は、次のようなものを使用します。

for (String s : req.getServletContext().getResourcePaths("images")) {
    InputStream resource = req.getServletContext.getResourceAsStream(s);
    // do something with resource
}
于 2013-11-01T19:49:45.563 に答える