0

1)次のjsp(タイルを使用)コードを使用してjfreechartを生成するアクションを呼び出しました:

<s:url  var="chart" action="resultChart"/>
<img src="<s:property value="%{chart}"/>"/>

2)struts.xml

<package name="chart" extends="jfreechart-default" namespace="/">

    <action name="resultChart" class="com.examples.actions.ChartAction">
        <result name="success" type="chart"> 
            <param name="width"> 1200 </param> 
            <param name="height"> 600 </param>
        </result>
    </action>

</package>

3)チャートを生成するには - 前のアクションからのリクエストパラメータを使用します:

public class ChartAction extends ActionSupport implements RequestAware {

    private static final long serialVersionUID = 1L;

    private Map request;

    private JFreeChart chart;   

    public String execute() throws Exception {


        DataBean dataBean = (DataBean)request.get("dataBean");
                .....
        }

次の問題:リクエストがnull(dataBean = null)を返すため、グラフを描画できません注:リクエストパラメーターを渡さなくても、すべて正常に動作します

私の調査 - ChartAction の次のコード (request.get の前) を使用して問題を調査しました。

ValueStack valuestack = ActionContext.getContext().getValueStack();

System.out.println("valuestack.size() = " + valuestack.size());

System.out.println("valuestack root = " + valuestack.getRoot().toString());

そして、ValueStack には、パラメーター (dataBean) を要求に入れるアクションからのレコードがないことがわかりました

助けてください

4

0 に答える 0