There is no result type defined for type 'dynamic-jasper' mapped with name 'success'

半世苍凉 提交于 2019-12-20 07:09:08

问题


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

In action class

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

<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

I have included following jar files


回答1:


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>

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.



来源:https://stackoverflow.com/questions/20651737/there-is-no-result-type-defined-for-type-dynamic-jasper-mapped-with-name-succ

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!