我正在尝试通过调用该操作来创建一个在网页上创建图表的操作
<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>
所以问题变成了为什么图表总是空的。答案是它永远不会按预期执行 execute 方法,而是直接跳到 getChart() 方法。所以真正的问题是为什么它直接跳到那个,而不是像我所做的任何其他动作一样做整个课程?