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)放入请求中的操作记录
请帮忙