1.insert into t_stock_day(shortname,volumn,day) select shortname, sum(volumn) volumn ,DATE_FORMAT(date,"%Y-%m-%d") yearMonth from quotes group by shortname, yearMonth ;
2.insert into t_stock_month(shortname,volumn,yearMonth) select shortname, sum(volumn) volumn ,DATE_FORMAT(date,"%Y-%m") yearMonth from quotes group by shortname, yearMonth ;
3.insert into t_stock_year(shortname,volumn,year) select shortname, sum(volumn) volumn , year(date) year from quotes group by shortname, year ;
4.<entity id='CN.BJ' displayValue=' ' toolText='北京' color='ffffff' value="0" link="j-generateChart-beijing"/>
5. $("#mapContainer").insertFusionCharts({
swfUrl: "FusionCharts/FCMap_China2.swf",
dataSource: "xml/office.xml",
dataFormat: "xmlurl",
width: "550",
height: "450",
id: "myMapId",
wmode: 1
});
6. <script type="text/javascript" src="FusionCharts/jquery.min.js"></script>
<script type="text/javascript" src="js/display_data.js"></script>
<script type="text/javascript" src="FusionCharts/FusionCharts.js"></script>
<script type="text/javascript" src="FusionCharts/FusionCharts.jqueryplugin.js"></script>
7.function generateChart(shortName){
$("#chartDayContainer").empty();
$("#chartMonthContainer").empty();
$("#chartContainer").empty();
$.getJSON('displayData.action?shortName=' + shortName, function(result) {
var data = eval("("+result+")");
$("#chartContainer").insertFusionCharts({
swfUrl: "FusionCharts/Column2D.swf",
dataSource: data,
dataFormat: "json",
width: "400",
height: "300",
id: "myYearChartId"
});
});
}
8.<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<!-- struts2 configuration -->
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>
9.<package name="basePackage" namespace="/" extends="json-default">
<action name="*Data" class="cn.sec.data.drilling.action.StockAction" method="{1}Data">
<result name="success" type="json">
<param name="root">result</param>
</result>
</action>
</package>
10.
private String result;
public String displayData() throws IOException {
HttpServletRequest request = ServletActionContext.getRequest();
String shortName = request.getParameter("shortName");
//result = "{'chart':{'caption':'Yearly Sales', 'xaxisname':'Year', 'yaxisname':'Sales' },'data':[{ 'label':'2004', 'value':'37800' },{ 'label':'2005', 'value':'21900' },{ 'label':'2006', 'value':'32900' },{ 'label':'2007', 'value':'39800' }]}";
result = stockManager.generatorYearChart(shortName);
return SUCCESS;
}
11. StringWriter yearChart = new StringWriter();
JsonWriter writer = new JsonWriter(yearChart);
writer.beginObject();
writer.name("");
writer.beginObject();
writer.name("").value("");
writer.endObejct();
writer.beginArray();
writer.beginObject();
...
writer.endObejct();
writer.endArray();
writer.endObject();
yearChart.getBuffer().toString();
12.struts2-json-plugin-2.3.15有个bug 启动时报Default_Param未定义;只要自己重写就行org.apache.struts2.json.JSONResult.java加入下面一句
/**
* This result type doesn't have a default param, null is ok to reduce noise in logs
*/
public static final String DEFAULT_PARAM = null;
13.ibatis spring配置省略
<![CDATA[
SELECT * FROM t_stock_day
WHERE SUBSTRING(day, 1, 7) = #{yearMonth}
AND shortname = #{shortName}
]]>