在flex 4中调用Java方法HttpServletResponse

时间:2011-08-31 14:58:41

标签: java servlets flex4

我有一个使用dynamicjasper在xls中创建报表的服务类,我想知道如何在我的flex应用程序中包含一个按钮来执行此方法。

@Service("downloadService")
@Transactional
public class DownServiceRelTemp {

    private static Logger logger = Logger.getLogger("service");

    @Resource(name="sessionFactory")
    private SessionFactory sessionFactory;

    public void downloadXLS(HttpServletResponse response) throws ColumnBuilderException,
        ClassNotFoundException, JRException {

        logger.debug("Downloading Excel report");

        DynamicReport dr = LayouteRelTemp.buildReportLayout();
        JRDataSource ds = getDataSource();
        JasperReport jr = DynamicJasperHelper.generateJasperReport(dr, new ClassicLayoutManager(), null);
        JasperPrint jp = JasperFillManager.fillReport(jr, null, ds);
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        Exporter.exportToXLS(jp, baos);
        String fileName = "MyReport.xls";
        response.setHeader("Content-Disposition", "inline; filename=" + fileName);
        response.setContentType("application/vnd.ms-excel");
        response.setContentLength(baos.size());
        Writer.write(response, baos);
    }

任何建议,对adobe flex都没有多少经验,想要一个简单的帮助。

1 个答案:

答案 0 :(得分:0)

有一些方法可以用java进行交互式flex

  1. 使用网络服务
  2. 使用servlet
  3. 通过远程处理对象。通过AMF thecnology。
  4. 我推荐这位福音传教士詹姆斯·沃德的tutorial,在本教程中,他解释了使用代码示例连接flex和java的不同方法。这就是我学会如何使用flex和Java的方法

    请注意,您需要检查blazeDs资料库