ChartUtilities.writeChartAsJPEG(response.getOutputStream(), 1, chart, 600, 400);这行代码在struts的action中,可以在页面输入一个jfreechart的报表,缺点是不能控制样式,比方说我想输入的图片在页面是居中的,ms不行啊
不想用Servlet,谁知道有什么好的方法可以处理吗?

解决方案 »

  1.   

    没看懂,图片居中用什么都行呀,div,img......
      

  2.   

    JFREECHART只是负责生成图片的
    如果要控制在页面上的显示样式
    应该用HTML标记实现的哦
      

  3.   

    这个是jfreechart用out打印出来的,我无法控制啊
      

  4.   

    可以控制的 兄弟,给你贴一段代码,你用另外一种方式实现图表!
    String filename = ServletUtilities.saveChartAsPNG(chart,1000,600, null,request.getSession());
    String imageUrl = request.getContextPath() + "/displayChart?filename=" + filename;
    把imageUrl放到作用域中传递到页面 用<img src="${imageUrl}">操作 样式大小都可以自己控制了!这里的 "/displayChart?filename="需要自己配置web.xml<servlet>
    <servlet-name>DisplayChart</servlet-name>
    <servlet-class>org.jfree.chart.servlet.DisplayChart</servlet-class>
    </servlet>
    <servlet-mapping>
    <servlet-name>DisplayChart</servlet-name>
    <url-pattern>/displayChart</url-pattern>
    </servlet-mapping>
      

  5.   

    out出的,也需要有个页面来接收
    当执行ChartUtilities.writeChartAsJPEG(response.getOutputStream(), 1, chart, 600, 400);的时候图片流被发出然后在接收流的页面
         <div align="center">
             <img src="genJFreechart.do">
            </div>