珠海网站上排名,宝安品牌网站制作,毕节做网站优化,柳市网站设计推广查看选中的软件的下载量#xff0c;通过amchart报表工具显示出软件日下载量#xff0c;月下载量以及年下载量#xff0c;下面简单介绍#xff0c;amchart在struts2中的应用。 amCharts提供JavaScript/HTML5图表。一套包括串行#xff08;列#xff0c;栏#xff0c;线通过amchart报表工具显示出软件日下载量月下载量以及年下载量下面简单介绍amchart在struts2中的应用。 amCharts提供JavaScript/HTML5图表。一套包括串行列栏线区步线平滑线烛台OHLC图馅饼/甜甜圈雷达/极性和XY /分散/气泡图。amCharts的图表提供了无与伦比的功能和性能在一个高级的符合标准的包里。 一、下载amchart 点击进入下载页面 选择你想使用的报表显示形状进行下载较常用的主要是曲线图和饼图这里以曲线图为例Line Area 二、配置struts2 新建一个Web Project比如amchartDemo 1. JAR包引用 这里使用的是struts2的最新JAR包struts-2.2.1.1 该版本的struts2需要用到的JAR包有7个一个都不能少 可在下面工程中获取struts-2.2.1.1\apps\struts2-blank\WEB-INF\lib commons-fileupload-1.2.1.jar commons-io-1.3.2.jar freemarker-2.3.16.jar javassist-3.7.ga.jar ognl-3.0.jar struts2-core-2.2.1.1.jar xwork-core-2.2.1.1.jar 2. 配置web.xml WebRoot\WEB-INF\web.xml Java代码 filter filter-namestruts2/filter-name filter-class org.apache.struts2.dispatcher.FilterDispatcher /filter-class /filter filter-mapping filter-namestruts2/filter-name url-pattern/*/url-pattern /filter-mapping 3. 配置struts.xml 可从 struts-2.2.1.1\apps\struts2-blank\WEB-INF\src\java\ 获取struts.xml复制到你自己的项目工程amchartDemo的src下 Java代码 struts package namestatistic extendsstruts-default action namereport classcom.web.action.ReportAction result nameshow-suc/index.jsp/result /action /package /struts 4. 编写Action 根据以上struts.xml的配置创建ReportAction类以及需要的Bean Java代码 package com.web.action; import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.TreeMap; import com.model.beans.BaseBean; import com.opensymphony.xwork2.ActionContext; import com.opensymphony.xwork2.ActionSupport; public class ReportAction extends ActionSupport { public String showDay() throws Exception { ListBaseBean daylist new ArrayListBaseBean(); /*数据模拟*/ daylist.add(createBean(1L,软件A,#FF0000)); daylist.add(createBean(2L,软件B,#FFC0CB)); daylist.add(createBean(3L,软件C,#40E0D0)); daylist.add(createBean(4L,软件D,#9ACD32)); daylist.add(createBean(5L,软件E,#00FF7F)); /**/ ActionContext.getContext().getSession().put(chartDataList, daylist); return show-suc; } /** * 创建模拟数据 * author Christy Lan * version 1.0 * param * return BaseBean * exception */ private BaseBean createBean(Long id, String softName, String color){ BaseBean bean new BaseBean(); bean.setSoftId(id); bean.setSoftName(softName); bean.setColor(color); MapInteger, Integer dataMap new TreeMapInteger, Integer(); //一天24小时 for(int i 1; i 24; i){ dataMap.put(i, getRandom());//模拟每小时的下载量 } bean.setDataMap(dataMap); return bean; } private Integer getRandom(){ return (int)(Math.random()*1000); } } 该bean与数据库的表结构无关而是对数据库中的数据进行了进一步的统计处理使用oracle的统计函数封装成这个BaseBean。主要就是对dataMap时刻, 下载量的封装 Java代码 package com.model.beans; import java.util.Map; public class BaseBean { private Long softId;//软件ID private String softName;//软件名字 private String color;//该软件在amchart报表中显示的颜色 private MapInteger, Integer dataMap;//存放统计信息 public Long getSoftId() { return softId; } public void setSoftId(Long softId) { this.softId softId; } public String getSoftName() { return softName; } public void setSoftName(String softName) { this.softName softName; } public String getColor() { return color; } public void setColor(String color) { this.color color; } public MapInteger, Integer getDataMap() { return dataMap; } public void setDataMap(MapInteger, Integer dataMap) { this.dataMap dataMap; } } 三、使用amchart 1. 在WebRoot下新建一个目录 WebRoot/statistic/line 2. 解压amline_1.6.4.1.zip a) 将 amline_1.6.4.1\amline 目录下的swfobject.js复制到statistic目录下注swfobject.js放于哪无所谓关键是页面上的引用 b) 将 amline_1.6.4.1\amline 目录下的amline.swf 复制到statistic/line目录下 c) 将 amline_1.6.4.1\amline 目录下的amline_settings.xml 复制到statistic/line目录下同时把amline_settings.xml改名为day_settings.jsp 3. 修改day_settings.jsp a) 在day_settings.jsp的最开始处增加如下代码 Java代码 % page languagejava importjava.util.* pageEncodingUTF-8% % taglib prefixs uri/struts-tags % b) 将digits_after_decimal2/digits_after_decimal 改为 digits_after_decimal0/digits_after_decimal 这里的数值表示小数点后的位数 c) 将graphs/graphs标签里的内容删除替换成 Java代码 graphs s:iterator value#session.chartDataList statusst graph gids:property value#st.index/ titles:property valuesoftName//title line_width2/line_width colors:property valuecolor//color color_hovers:property valuecolor//color_hover bulletround_outlined/bullet balloon_text_color000000/balloon_text_color balloon_text ![CDATA[{title} on {series}: 【{value}次】]] /balloon_text selectedtrue/selected /graph /s:iterator /graphs 4. 在statistic/line目录下新建day_data.jsp Java代码 % page languagejava importjava.util.* pageEncodingUTF-8% % taglib prefixs uri/struts-tags % ?xml version1.0 encodingUTF-8? chart series s:iterator value#session.chartDataList statusst s:if test#st.index0 s:iterator valuedataMap value xids:property valuekey/s:property valuekey/时/value /s:iterator /s:if /s:iterator /series graphs s:iterator value#session.chartDataList statusst graph gids:property value#st.index/ s:iterator valuedataMap value xids:property valuekey/s:property valuevalue//value /s:iterator /graph /s:iterator /graphs /chart 5. 补充破解amchart 在statistic/line目录下新建amcharts_key.txt内容为 AMCHART-LNKS-1966-6679-1965-1082 6. WebRoot/index.jsp 1) 引入JS Java代码 script typetext/javascript src%basePath %/statistic/swfobject.js/script 2) amchart使用 Java代码 body div idflashcontent strongYou need to upgrade your Flash Player/strong /div script typetext/javascript // ![CDATA[ var so new SWFObject(statistic/line/amline.swf, amline, 900, 600, 8, #FFFFFF); so.addVariable(path, statistic/line/); so.addVariable(settings_file, encodeURIComponent(statistic/line/day_settings.jsp?%Math.random()%)); so.addVariable(data_file, encodeURIComponent(statistic/line/day_data.jsp)); so.write(flashcontent); // ]] /script /body 四、完成 访问 http://localhost/amchartDemo/report!showDay.action 即可看到效果转载于:https://www.cnblogs.com/yujizais/archive/2012/03/14/2395527.html