erickh
10-09-2006, 05:58 AM
can anyone have a look at my code? i got some problems to display it in jsp when i run it with eclipse. can anyone help me on this?? did my java bean declared wrongly? thanks...
this is my java file
package com;
import java.io.File;
import com.db4o.Db4o;
import com.db4o.ObjectContainer;
import com.db4o.ObjectSet;
import org.jfree.chart.*;
import org.jfree.data.general.*;
public class StoreData{
private static final long serialVersionUID = 1L;
private final static String filename = "C:\\CountryPieChart.yap";
public static void main(String[] args){
//Delete the existing file
new File(filename).delete();
ObjectContainer db=Db4o.openFile(filename);
try {
StoreAllData();
retrieveAllData();
} finally{
db.close(); //Close the database
}
}
public static void StoreAllData() {
//Delete the existing file
new File(filename).delete();
ObjectContainer db = Db4o.openFile(filename);
//Add data to the database
CountryPeople countryName_1 = new CountryPeople("Malaysia", 100);
CountryPeople countryName_2 = new CountryPeople("New Z", 200);
CountryPeople countryName_3 = new CountryPeople("UK", 300);
CountryPeople countryName_4 = new CountryPeople("Thailand", 400);
CountryPeople countryName_5 = new CountryPeople("Singapore", 50);
//set the value to database
db.set(countryName_1);
db.set(countryName_2);
db.set(countryName_3);
db.set(countryName_4);
db.set(countryName_5);
}
public static void retrieveAllData() {
//Open db
ObjectContainer db = Db4o.openFile(filename);
//Retrieve via empty object
CountryPeople cName = new CountryPeople(null, 0);
ObjectSet result = db.get(cName);
DefaultPieDataset dataset = new DefaultPieDataset();
//retrieve the data from database
while(result.hasNext()) {
CountryPeople obj = (CountryPeople) result.next();
dataset.setValue(obj.getName(), obj.getValue());
//System.out.println(result.next());
}
//Create pie chart
JFreeChart chart = ChartFactory.createPieChart(
"Sample Chart",
dataset,
true,
true,
false);
try {
//save the pie chart as JPEG file
ChartUtilities.saveChartAsJPEG(new File("C:\\CountryPieChart.jpg"), chart, 500, 300);
} catch(Exception e) {
System.out.println("Problem for creating chart");
}
}
}
and this is my jsp file
<jsp:useBean id="myStoreData" class="com.StoreData" scope="page"></jsp:useBean>
<html>
<head><title>Testing Displaying</title>
</head>
<body>
<b>Testing Display Page</b>
<img src="<jsp:getProperty name="myStoreData" property="getFileName" /> /">
</body>
</html>
this is my java file
package com;
import java.io.File;
import com.db4o.Db4o;
import com.db4o.ObjectContainer;
import com.db4o.ObjectSet;
import org.jfree.chart.*;
import org.jfree.data.general.*;
public class StoreData{
private static final long serialVersionUID = 1L;
private final static String filename = "C:\\CountryPieChart.yap";
public static void main(String[] args){
//Delete the existing file
new File(filename).delete();
ObjectContainer db=Db4o.openFile(filename);
try {
StoreAllData();
retrieveAllData();
} finally{
db.close(); //Close the database
}
}
public static void StoreAllData() {
//Delete the existing file
new File(filename).delete();
ObjectContainer db = Db4o.openFile(filename);
//Add data to the database
CountryPeople countryName_1 = new CountryPeople("Malaysia", 100);
CountryPeople countryName_2 = new CountryPeople("New Z", 200);
CountryPeople countryName_3 = new CountryPeople("UK", 300);
CountryPeople countryName_4 = new CountryPeople("Thailand", 400);
CountryPeople countryName_5 = new CountryPeople("Singapore", 50);
//set the value to database
db.set(countryName_1);
db.set(countryName_2);
db.set(countryName_3);
db.set(countryName_4);
db.set(countryName_5);
}
public static void retrieveAllData() {
//Open db
ObjectContainer db = Db4o.openFile(filename);
//Retrieve via empty object
CountryPeople cName = new CountryPeople(null, 0);
ObjectSet result = db.get(cName);
DefaultPieDataset dataset = new DefaultPieDataset();
//retrieve the data from database
while(result.hasNext()) {
CountryPeople obj = (CountryPeople) result.next();
dataset.setValue(obj.getName(), obj.getValue());
//System.out.println(result.next());
}
//Create pie chart
JFreeChart chart = ChartFactory.createPieChart(
"Sample Chart",
dataset,
true,
true,
false);
try {
//save the pie chart as JPEG file
ChartUtilities.saveChartAsJPEG(new File("C:\\CountryPieChart.jpg"), chart, 500, 300);
} catch(Exception e) {
System.out.println("Problem for creating chart");
}
}
}
and this is my jsp file
<jsp:useBean id="myStoreData" class="com.StoreData" scope="page"></jsp:useBean>
<html>
<head><title>Testing Displaying</title>
</head>
<body>
<b>Testing Display Page</b>
<img src="<jsp:getProperty name="myStoreData" property="getFileName" /> /">
</body>
</html>