On 2022/07/12 05:34:32 Lukasz Lenart wrote:> Could you share some more info?
struts.xml? action?
Hello Lukasz,
Thanks for your reply. Here are some of my codes. This code works well with
struts2 2.5.30 and jfreechart-1.0.19.jar. After changing to struts2 6.0.0, the
chart does not render anymore.
I thank for any comment/suggetstion.Thanks.
--- ProcessDisplaytagReport.javapublic class ProcessDisplaytagReport extends
ActionSupport{ private JFreeChart chart; DefaultCategoryDataset dataset
= new DefaultCategoryDataset(); public String execute() throws Exception
{ // do other things.... return SUCCESS; }
public String jfreechart_report() throws Exception { dataset =
createDataset(); chart = createChart(dataset); return SUCCESS; }
private static JFreeChart createChart (CategoryDataset dataset) {
JFreeChart chart = ChartFactory.createBarChart( "Report(Letter grade) -
Display by course", // title "Category", // domain
axis label "Percentage", // range axis label
dataset, // data PlotOrientation.VERTICAL, //
orientation true, // include legend true,
// tooltips? false // URLs? );
return chart; }
private static CategoryDataset createDataset() { String series1 =
"First"; String series2 = "Second"; String series3 = "Third";
String category1 = "Category 1"; String category2 = "Category 2";
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
dataset.addValue(1.0, series1, category1); dataset.addValue(5.0,
series2, category1); dataset.addValue(4.0, series3, category1);
dataset.addValue(4.0, series1, category2); dataset.addValue(7.0, series2,
category2); dataset.addValue(3.0, series3, category2);
return dataset; }
public JFreeChart getChart() { return chart; } public void
setChart(JFreeChart chart) { this.chart = chart; }}
----- file browse_report.jsp<s:form name="ProcessDisplaytagReportForm"
namespace="/Action/Assessment/" action="ProcessDisplaytagReport"
validate="true" theme="simple" > <img
src='jfreechart_reportProcessDisplaytagReport.action' /></s:form>
----- file struts.xml<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts
PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
"http://struts.apache.org/dtds/struts-2.5.dtd"> <struts> <package
name="Assessment" namespace="/Action/Assessment"
strict-method-invocation="false" extends="tiles-default"> <result-types>
<result-type name="tiles"
class="org.apache.struts2.views.tiles.TilesResult" />
<result-type name="chart" class="org.apache.struts2.dispatcher.ChartResult" />
</result-types> <action name="*ProcessDisplaytagReport"
method="{1}"
class="action.displaytag.assessment.report.ProcessDisplaytagReport"> <result
name="success" type="tiles">report_based</result> <result
name="error" type="tiles">report_based</result> </action>
<action name="jfreechart_reportProcessDisplaytagReport"
method="jfreechart_report"
class="action.displaytag.assessment.report.ProcessDisplaytagReport"> <result
name="success" type="chart"> <param name="chart">chart</param>
<param name="width">500</param> <param name="height">800</param>
</result> </action> </package> </struts>
-- tiles.xml<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE tiles-definitions
PUBLIC "-//Apache Software Foundation//DTD Tiles Configuration 2.0//EN"
"http://tiles.apache.org/dtds/tiles-config_2_0.dtd">
<tiles-definitions> <definition name="report_based"
template="/WEB-INF/layouts/mainLayout-page.jsp"> <put-attribute
name="title" value="View based Report" /> <put-attribute name="body"
value="/WEB-INF/pages/displaytag/assessment/report/browse_report.jsp" />
<put-attribute name="crumb-link"
value="/Action/Assessment/ProcessDisplaytagReport.action" />
<put-attribute name="crumb-title" value="View based Report" />
<put-attribute name="tabbed" value="true" /> <put-attribute
name="selected" value="menu_assessment" /> <put-attribute name="include"
value="false" /> </definition></tiles-definitions>