- PR -

JFreeChartを使ってグラフをJSPで表示する方法

1
投稿者投稿内容
よー
会議室デビュー日: 2005/07/10
投稿数: 3
投稿日時: 2005-07-10 14:39
ネットで調べて、JFreeChartを使ってファイルを生成することはできたのですが、
そのできたファイルを、サーブレットを使わずに
JSPファイルで動的に使いたいのですが、その方法がわかりません。
わかる方がいれば教えて欲しいです。


グラフを作るファイル
package gra;
import java.io.File;
import java.io.IOException;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.data.general.DefaultPieDataset;

public class Gtest {
public void test() {
DefaultPieDataset data = new DefaultPieDataset();
data.setValue("テスト1",new Double(20));
data.setValue("テスト2",new Double(30));
data.setValue("テスト3",new Double(50));

JFreeChart chart = ChartFactory.createPieChart(
"Chart", data, true, true, false);

File file = new File("./chart.png");
try {
ChartUtilities.saveChartAsPNG(file, chart, 500, 500);
} catch(IOException e) {
e.printStackTrace();
}
}
}
Cluster
ぬし
会議室デビュー日: 2003/03/06
投稿数: 289
お住まい・勤務地: 大阪
投稿日時: 2005-07-10 16:31
単純に、JSPからできたファイルにリンクを張れば見えると思いますが。
<img>タグとか使って。

同時実行とかゴミの掃除とかをちゃんと考慮するなら、もう少し考えないとダメでしょうが。
taku
ぬし
会議室デビュー日: 2002/11/12
投稿数: 918
お住まい・勤務地: 墨田区→中野区
投稿日時: 2005-07-10 16:50
引用:

よーさんの書き込み (2005-07-10 14:39) より:
そのできたファイルを、サーブレットを使わずに
JSPファイルで動的に使いたいのですが、その方法がわかりません。


 サーブレットを使いたくない理由は何でしょうか?
JSPは実態は、サーブレットだということは解っていますよね?
よー
会議室デビュー日: 2005/07/10
投稿数: 3
投稿日時: 2005-07-10 19:30
ご返答ありがとうございます。
ファイルにリンクを張るということを参考に
以下のコードをファイルに追加して、JSPファイルに渡すことで
表示できました。

だた、データの数字を変更後に保存して、Tomcatを再起動後アクセスしても、
画像ファイルが新しいものに書き換わらないので、
書き換える方法をご存知でしたら教えて頂きたいです。

String fileURL = "";
try {
fileURL = file.getCanonicalPath();
} catch (IOException e1) {
e1.printStackTrace();
}
return fileURL;
Cluster
ぬし
会議室デビュー日: 2003/03/06
投稿数: 289
お住まい・勤務地: 大阪
投稿日時: 2005-07-10 19:54

  • 画像ファイルが書き換えられていない。
  • ブラウザのキャッシュが表示されている。

のどちらかだと思いますが。

まずは、サーバー上のファイルが書き換えられているか確認してみては?
よー
会議室デビュー日: 2005/07/10
投稿数: 3
投稿日時: 2005-07-10 20:59
早速のご返答ありがとうございます。

サーバー上の画像ファイルが書き換えられていません。
書き換える方法をご存知でしたら教えて欲しいです。
Cluster
ぬし
会議室デビュー日: 2003/03/06
投稿数: 289
お住まい・勤務地: 大阪
投稿日時: 2005-07-10 22:44
ファイルを作る方法がわかってるんだから、
それをどうやって実行するかだけですよね?

Tomcatを再起動したって、ファイルの作成処理が実行されなければ画像ファイルは書き換わらないし、実行されれば再起動と関係なく画像ファイルは書き換わるでしょう。

いちばん単純なのは、JSPのどこかで呼び出すことだと思いますが。

# 単に動けばいいだけなら上記の通りですが、それ以外の要件も踏まえて、
# どうやってグラフを表示するべきか検討されることをお勧めします。
# 何を作られているのかわかりませんが・・・
1

スキルアップ/キャリアアップ(JOB@IT)