0

我正在尝试通过调用该操作来创建一个在网页上创建图表的操作

<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() 方法。所以真正的问题是为什么它直接跳到那个,而不是像我所做的任何其他动作一样做整个课程?

4

0 回答 0