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) を要求に入れるアクションからのレコードがないことがわかりました
助けてください