`

jFreeChart与Struts2的组合,将jFreeChart作为显示视图

阅读更多

jFreeChart与Struts2的组合:
    一,加入Struts2支持
    二,加入struts2-jfreechart-plugin-2.1.6.jar
        注意:有的版本的此包有点小问题,此包内有一个struts-plugin.xml内容如下:

<struts>
            <package name="jfreechart-default" extends="struts-default">
           
                <result-types>
                    <result-type name="chart" class="org.apache.struts2.dispatcher.ChartResult">
                        <param name="height">150</param>
                        <param name="width">200</param>
                    </result-type>
                </result-types>
            </package>
       
        </struts>
 

        若该package没有继承struts-default则需要手动加上extends="struts-default"再重新用jdk打包
   
    三,在action中生成我们的图片报表

/**
         * 生成图形报表
         *
         * @author 张明学
         *
         */
        @SuppressWarnings("serial")
        public class ViewResultAction extends ActionSupport {
       
            /**
             * 这里的JFreeChart的变量名称必须是chart(这是jfreeChart插件不足的地方)
             */
            private JFreeChart chart = null;
       
            private List<String> interest = null;
       
            @SuppressWarnings("unchecked")
            @Override
            public String execute() throws Exception {
                ActionContext context = ActionContext.getContext();
                Map application = context.getApplication();
       
                for (String inter : interest) {
                    if (application.get(inter) == null) {
                        application.put(inter, 1);
                    } else {
                        application.put(inter, (Integer) application.get(inter) + 1);
                    }
                }
                DefaultCategoryDataset dataset = new DefaultCategoryDataset();
                dataset.setValue((Integer) application.get("football"), "", "足球");
                dataset.setValue((Integer) application.get("volleyball"), "", "排球");
                dataset.setValue((Integer) application.get("basketball"), "", "蓝球");
                dataset.setValue((Integer) application.get("badminton"), "", "羽毛球");
                // 设置标题样式
                chart = ChartFactory.createBarChart3D("兴趣统计结果", "项目", "结果", dataset,
                        PlotOrientation.VERTICAL, true, false, false);
                chart.setTitle(new TextTitle("兴趣统计结果", new Font("黑体", Font.BOLD, 22)));
                // 报表中间部分
                CategoryPlot plot = (CategoryPlot) chart.getPlot();
                // 设置水平方向的样式
                CategoryAxis categoryAxis = plot.getDomainAxis();
                categoryAxis.setLabelFont(new Font("宋体", Font.BOLD, 20));
                categoryAxis.setCategoryLabelPositions(CategoryLabelPositions.UP_45);
                // 设置垂直方向的样式
                NumberAxis numberAxis = (NumberAxis) plot.getRangeAxis();
                numberAxis
                        .setLabelFont(new Font("仿宋", Font.LAYOUT_NO_LIMIT_CONTEXT, 18));
                // 获得报表下面部分
                // chart.getLegend();
       
                return SUCCESS;
            }
       
            public List<String> getInterest() {
                return interest;
            }
       
            public void setInterest(List<String> interest) {
                this.interest = interest;
            }
       
            public JFreeChart getChart() {
                return chart;
            }
       
            public void setChart(JFreeChart chart) {
                this.chart = chart;
            }
       
        }
 

   
    四,struts.xml中的配置:

<struts>
            <package name="mengya" extends="jfreechart-default">
                <action name="viewResult" class="com.mengya.action.ViewResultAction">
                    <result name="success" type="chart">
                        <!-- 指定图形报表的大小 -->
                        <param name="height">600</param>
                        <param name="width">800</param>
                    </result>
                </action>
            </package>
        </struts>

 

       
        注意:由于在第二步的时候将jfreechart-default包继承了struts-default故这里可以直接继承jfreechart-default
        这样做的目地是result的type类型为chart,这个类型在struts-default中没有定义,是jreechart-default中定义的
        故我们要引入jfreechart-default包,但又要引入struts-default,因此我们可以让jfreechart-default包继承了struts-default。
        而在struts.xml中继承jfreechart-default就可以了!

  • Struts2_16.rar (4.9 MB)
  • 描述: jFreeChart与Struts2的组合,将jFreeChart作为显示视图实例
  • 下载次数: 761
分享到:
评论

相关推荐

    jfreechart与struts2的整合

    将JFreeChart与Struts2整合,可以将动态生成的图表展示在Web页面上,为用户提供直观的数据展示。 首先,我们需要理解JFreeChart的基本用法。JFreeChart提供了丰富的API来创建和定制图表。例如,要创建一个简单的...

    JFreeChart(Struts1+jFreeChart)

    在Struts1中集成JFreeChart,主要目的是将动态生成的图表数据以图形的形式展示给用户,这通常涉及到以下步骤: 1. **创建图表**: 首先,你需要在服务器端使用JFreeChart库来创建所需的图表。这包括设置数据源(如...

    jfreechart 与struts2的柱状图以及折线图例子

    **JFreeChart与Struts2结合** 1. **配置Struts2**: 首先,我们需要在Struts2的配置文件`struts.xml`中添加一个Action,这个Action将负责生成图表。Action通常会包含一个方法,该方法调用JFreeChart API创建图表。 ...

    jfreechart和struts2的例子

    当我们需要在Struts2应用中使用JFreeChart时,可以创建一个Action,该Action负责生成图表并将其作为响应的一部分返回。 以下是一个简单的步骤来整合JFreeChart和Struts2: 1. **引入依赖**:首先,在项目中引入...

    jfreechart+struts2 图形报表

    将JFreeChart与Struts2结合,可以方便地在Web应用程序中生成动态图形报表。以下是对这一技术的详细介绍。 1. **JFreeChart介绍** JFreeChart是一个开源的Java图形库,它提供了丰富的图表类型,包括但不限于: - ...

    struts2+jfreechart

    6. **返回结果**:在Struts2 Action中,将图表字节数组作为结果返回,通常会映射到一个`stream`结果类型,以便在浏览器中显示图表。 **饼状图、柱状图、折线图的创建** - **饼状图**:饼状图用于展示部分与整体的...

    struts2与jfreechart整合

    在将Struts2与JFreeChart整合的过程中,主要涉及以下几个关键知识点: 1. **Struts2架构理解**:Struts2框架提供了Action、Interceptor(拦截器)、Result和ValueStack等核心概念,帮助开发者实现业务逻辑和视图的...

    struts2+JFreeChart

    将Struts2与JFreeChart结合,可以创建出交互式的、具有可视化图表的Web应用。开发者可以在Struts2的Action中处理业务逻辑,然后利用JFreeChart生成图表,最后通过Struts2的Result返回到视图层展示。例如,可以创建一...

    struts2整合 jfreechart 实现报表

    当我们需要在Struts2框架下实现报表功能时,就需要将这两者进行整合。 首先,整合Struts2和JFreeChart的首要步骤是确保在项目中引入JFreeChart和相关依赖。你需要在你的Maven或Gradle配置文件中添加JFreeChart的...

    struts2结合jfreechart框架出现图形所需的包

    总的来说,将Struts2与JFreeChart整合并成功显示图形需要对这两个框架有深入的理解,同时需要注意依赖管理、数据处理、视图渲染和调试技巧。只有当所有这些环节都正确无误,才能确保图形的顺利展示。如果你在实际...

    struts2整合jfreechart

    这个数组可以作为Action的返回结果,Struts2会自动处理并将它传递给视图。 在Struts2的配置文件(struts.xml)中,为`ChartAction`添加一个结果类型,指定当Action执行成功时,应如何处理返回的图表数据。可以配置...

    struts2整合jfreechart例子文档

    Struts2 框架与 JFreeChart 的整合允许开发者在 Web 应用程序中创建交互式的图表,如饼图、柱状图等。JFreeChart 是一个强大的 Java 图表库,可以生成高质量的静态图表,而 Struts2 则是用于构建 MVC(模型-视图-...

    jFreeChart资源 及 相关配置 及 帮助文档 及 与struts2整合案例

    包含的整合案例可能展示了如何在Struts2 Action中使用jFreeChart创建一个图表,例如,可能会有一个Action方法从数据库获取数据,用这些数据创建柱状图,然后将生成的图表作为响应返回。在JSP页面中,使用Struts2...

    struts2+JFreeChart整合

    **Struts2与JFreeChart整合** 整合Struts2和JFreeChart,主要是为了让Struts2的Action能够生成JFreeChart图表,并将其以图片或其他格式返回给客户端。以下是一般的整合步骤: 1. **引入依赖**: 在项目中添加Struts...

    jfreechart struts2.0

    1. **在Struts2中使用JFreeChart**:通过Action类创建JFreeChart对象,并将其作为模型的一部分传递给视图。在JSP页面中,利用JavaServer Pages标准标签库(JSTL)或自定义标签来渲染图表。 2. **图表作为Action结果...

    struts2整合JfreeChart完成报表功能

    而在Struts2的Web应用中,通常会将图表保存为图像文件,然后在JSP页面中通过`&lt;img&gt;`标签显示。这通常涉及到`ChartUtilities`类的`writeChartAsPNG`方法,将图表写入到内存流,再转换为Base64编码的字符串,嵌入到...

    Struts2中使用JfreeChart

    Struts2是一个流行的Java web框架,它为构建MVC(模型-视图-控制器)架构的应用程序提供了强大的支持。在Struts2中整合...同时,了解如何将第三方库与Struts2结合使用,对于提升Java Web开发技能是非常有帮助的。

    Struts2与JFreechart整合

    这通常意味着你需要在项目的`pom.xml`文件中添加Struts2和JFreeChart的依赖,或者将对应的`.jar`文件添加到类路径中。以下是可能的依赖配置: ```xml &lt;groupId&gt;org.apache.struts &lt;artifactId&gt;struts2-core ...

    Struts2 + jfreechart

    将 Struts2 和 JFreeChart 结合使用,可以创建出动态的数据展示Web应用。例如,你可以在后台使用Struts2 框架处理用户请求,获取服务器端的数据,然后利用 JFreeChart 将这些数据转化为可视化图表。这在业务分析、...

    jfreeChart+ struts+数据库,柱形图开发,直接能用

    如果是代码文件,可能是处理图表显示的Java或JSP文件,包含具体的jfreeChart和Struts的实现细节。 总的来说,这个项目展示了如何结合jfreeChart的强大图表功能、Struts的MVC架构以及数据库技术,开发出一个可以动态...

Global site tag (gtag.js) - Google Analytics