アクションを呼び出して Web ページにグラフを作成するアクションを作成しようとしています。
<img src=" <s:url action='generateChart' />" />
そしてそれが起動し、私のBeanファイルで定義されたメソッドを呼び出します
<bean id="generateChart" class="com.action.electricity.CreateChart" scope="prototype">
</bean>
クラスを正しく呼び出す
private JFreeChart chart;
public String exectue() throws Exception{
try{
final XYDataset dataset = createDataset();
chart = createChart(dataset, "My Chart");
return SUCCESS;
}
catch(Exception e){
return ERROR;
}
}
しかし、それは私とエラーを与えています
No JFreeChart object found on the stack with name chart
struts アクションは、独自のパッケージ内で次のように定義されています。
<package name="graphs" namespace="/" extends="jfreechart-default">
<action name="generateChart" class="generateChart">
<result name="success" type="chart">
<param name="width">400</param>
<param name="height">300</param>
</result>
</action>
</package>
そのため、なぜグラフが常に null なのかという疑問が生じます。答えは、execute メソッドを期待どおりに実行せず、getChart() メソッドに直接スキップすることです。本当の問題は、私が持っている他のアクションのようにクラス全体を実行するのではなく、なぜそれを直接スキップするのですか?