本文介绍了没有为名为'success'的'dynamic-jasper'类型定义结果类型的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试使用带有Struts 2.3.4的DynamicJasper 5.0.0。我使用以下代码以PDF格式显示数据
I am trying to use DynamicJasper 5.0.0 with Struts 2.3.4. I am using following code to show data in PDF format
在行动类中
try {
FastReportBuilder drb = new FastReportBuilder();
DynamicReport dr = drb.addColumn("Size", "size", String.class.getName(), 30).setTitle("Size List Report").setSubtitle("This report was generateed at" + new Date()).setUseFullPageWidth(true) //make colums to fill the page width
.setPrintBackgroundOnOddRows(true).build();
JRDataSource ds = new JRBeanCollectionDataSource(getSizeList());
JasperPrint jp = DynamicJasperHelper.generateJasperPrint(dr, new ClassicLayoutManager(), ds);
JasperViewer.viewReport(jp); //finally display the report report [/CODE]
} catch (Exception e) {
System.out.println("Exception");
}
return SUCCESS;
struts.xml
struts.xml
<package name="expotpkg" extends="struts-default, json-default,jasperreports-default">
<result-types>
<result-type name="dynamic-jasper" class="ar.com.fdvs.dj.webwork.DJResult"/>
</result-types>
<action name="DownloadSizePdf" class="iland.work.SizesAction" method="fetchDJ">
<result name="success" type="dynamic-jasper">
<param name="dynamicReport">dr</param>
<param name="dataSource">sizeList</param>
<param name="documentName">Dynamic Report generated with struts 2</param>
<param name="parameters">params</param>
<param name="format">PDF</param>
<param name="layoutManager">classic</param>
</result>
</action>
</package>
运行此操作时出现以下错误
While running this I am getting following error
There is no result type defined for type 'dynamic-jasper' mapped with name 'success'. Did you mean 'dynamicJasper'? - result - file:/E:/Project/cxn/cnx/build/web/WEB-INF/classes/struts.xml:571:58
at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.buildResults(XmlConfigurationProvider.java:653)
at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.addAction(XmlConfigurationProvider.java:387)
... 20 more
我已经包含以下jar文件
I have included following jar files
推荐答案
将此配置添加到您的包中
Add this configuration to your package
<result-types>
<result-type name="dynamicJasper" class="ar.com.fdvs.dj.webwork.DJResult"/>
</result-types>
<action name="DownloadSizePdf" class="iland.work.SizesAction" method="fetchDJ">
<result name="success" type="dynamicJasper">
<param name="dynamicReport">dr</param>
<param name="dataSource">sizeList</param>
<param name="documentName">Dynamic Report generated with struts 2</param>
<param name="parameters">params</param>
<param name="format">PDF</param>
<param name="layoutManager">classic</param>
</result>
</action>
ActionSupport
class位于包名称 com.opensymphony.xwork2
下。从Struts2使用的插件配置中发生错误,这与您使用的Struts版本不兼容。
The ActionSupport
class is under the package name com.opensymphony.xwork2
. The error is occurred from the configuration of the plugin you use with Struts2 which is incompatible to the version of Struts you use.
这篇关于没有为名为'success'的'dynamic-jasper'类型定义结果类型的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!