Portlet数据对接手册剖析.docx
《Portlet数据对接手册剖析.docx》由会员分享,可在线阅读,更多相关《Portlet数据对接手册剖析.docx(43页珍藏版)》请在冰豆网上搜索。
Portlet数据对接手册剖析
本文为数据对接格式及Portal对应操作说明
一、柱状图报表
(1)Java端代码如下
/**
*柱状图
*此类为几个柱状图为一组的情况
*@authorwangchs
*
*/
publicclassCollBarChart2extendsHttpServlet{
Stringdata="[{\"登记类别\":
\"新立\",\"合计\":
12,\"能源矿产\":
1,\"黑色金属矿产\":
4,\"贵金属矿产\":
4,"
+"\"非金属矿产\":
3,\"有色金属矿产\":
1,\"稀有、稀散稀土矿产\":
1,\"水气矿产\":
2,\"批准登记面积\":
2387},"+
"{\"登记类别\":
\"变更\",\"合计\":
179,\"能源矿产\":
5,\"黑色金属矿产\":
10,\"贵金属矿产\":
29,"
+"\"非金属矿产\":
14,\"有色金属矿产\":
6,\"稀有、稀散稀土矿产\":
3,\"水气矿产\":
3,\"批准登记面积\":
14427},"+
"{\"登记类别\":
\"延续\",\"合计\":
19,\"能源矿产\":
6,\"黑色金属矿产\":
4,\"有色金属矿产\":
15,"
+"\"贵金属矿产\":
15,\"稀有、稀散稀土矿产\":
2,\"非金属矿产\":
2,\"水气矿产\":
5,\"批准登记面积\":
1215},"+
"{\"登记类别\":
\"其他\",\"合计\":
471,\"能源矿产\":
8,\"黑色金属矿产\":
4,\"有色金属矿产\":
23,"
+"\"贵金属矿产\":
35,\"稀有、稀散稀土矿产\":
1,\"非金属矿产\":
9,\"水气矿产\":
7,\"批准登记面积\":
37759}]";
publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException{
response.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=UTF-8");
response.setHeader("Pragma","No-cache");
response.setHeader("Cache-Control","no-cache");
response.setDateHeader("Expires",0);
//response.setContentType("text/html");
try{
PrintWriterout=response.getWriter();
out.write(data);
out.flush();
out.close();
}catch(IOExceptione){
e.printStackTrace();
}
}
publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException{
response.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=UTF-8");
response.setHeader("Pragma","No-cache");
response.setHeader("Cache-Control","no-cache");
response.setDateHeader("Expires",0);
try{
response.getWriter().write(data);
}catch(IOExceptione){
}
PrintWriterout=response.getWriter();
out.println("
DOCTYPEHTMLPUBLIC\"-//W3C//DTDHTML4.01Transitional//EN\">");
out.println("");
out.println("
AServlet");
out.println("
");
out.print("Thisis");
out.print(this.getClass());
out.println(",usingthePOSTmethod");
out.println("");
out.println("");
out.flush();
out.close();
}
}
将数据按照图中格式打印到页面上,此类型格式为柱状图组的显示情况。
记录打印到页面的url地址。
在网页http:
//127.0.0.1:
8000/DataSo/jngtj/testcoll上访问即可显示:
(2)打开Portal,在页面编辑模式下点击添加内容,窗口右侧会出现控件菜单,选择应用程序集成->数据呈现器可视化:
网页上就会显示加载好控件了:
(3)点击控件,弹出菜单中点击配置,配置数据源信息,点击添加数据源,填入名称和资源路径,资源路径为打印数据页面的url(注意IP),点击测试,数据源返回类型选择JSON,点击下一步:
选择要显示的形式,我们选择柱状图,点击下一步:
主垂直轴选择要显示的数据,主水平轴选择要显示的数据的名字,在此处,我们主垂直轴不选择总计和批准登记面积,主水平轴选择登记类别,如下图:
配置完成后,点击保存即可完成:
最终显示效果如下:
二、饼状图报表
(1)java端代码如下
/**
*饼状图
*/
publicclassTBarChart2extendsHttpServlet{
Stringdata="[{\"经济类型\":
\"国有企业\",\"矿权数\":
186,\"勘查登记发证\":
70},"+
"{\"经济类型\":
\"集体企业\",\"矿权数\":
24,\"勘查登记发证\":
13},"+
"{\"经济类型\":
\"有限责任公司\",\"矿权数\":
269,\"勘查登记发证\":
135},"+
"{\"经济类型\":
\"股份有限公司\",\"矿权数\":
32,\"勘查登记发证\":
14},"+
"{\"经济类型\":
\"私营企业\",\"矿权数\":
10,\"勘查登记发证\":
5}]";
publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException{
response.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=UTF-8");
response.setHeader("Pragma","No-cache");
response.setHeader("Cache-Control","no-cache");
response.setDateHeader("Expires",0);
//response.setContentType("text/html");
try{
PrintWriterout=response.getWriter();
out.write(data);
out.flush();
out.close();
}catch(IOExceptione){
e.printStackTrace();
}
}
publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException{
response.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=UTF-8");
response.setHeader("Pragma","No-cache");
response.setHeader("Cache-Control","no-cache");
response.setDateHeader("Expires",0);
try{
response.getWriter().write(data);
}catch(IOExceptione){
}
PrintWriterout=response.getWriter();
out.println("
DOCTYPEHTMLPUBLIC\"-//W3C//DTDHTML4.01Transitional//EN\">");
out.println("");
out.println("
AServlet");
out.println("
");
out.print("Thisis");
out.print(this.getClass());
out.println(",usingthePOSTmethod");
out.println("");
out.println("");
out.flush();
out.close();
}
}
在网页http:
//127.0.0.1:
8000/DataSo/jngtj/testtan中显示结果为:
(2)打开Portal,在页面编辑状态下点击添加内容,在弹出控件菜单中选择应用程序集成->数据呈现器可视化
页面上就已经加载好控件了,如图:
(3)点击控件,在弹出菜单中点击配置,添加数据源,填入名称和资源路径,点击测试,返回数据即测试成功
点击下一步,选择显示形式,此处我们选择饼状图,下一步,饼图选择要显示的每块饼的数据,切片为每块饼的名字,如下图:
点击保存即可完成操作,最终显示效果如下:
三、表格报表
(1):
java代码如下:
/**
*表格报表显示案例
*@authorheihei
*
*/
publicclassTBTableextendsHttpServlet{
Stringdata=
"[{\"序号\":
\"1\",\"许可证号\":
\"T37120080101000563\",\"项目名称\":
\"山东省济南市历城区地热资源可执行性勘查\","
+"\"探矿权人\":
\"山东省地矿工程勘察院\",\"勘查单位\":
\"山东省地矿工程勘察院\","
+"\"勘查矿种\":
\"地热\",\"勘查面积\":
\"5.15\",\"有效期限\":
\"2015.04.01-2017.03.31\",\"备注\":
\"未年检\"},"+
"{\"序号\":
\"2\",\"许可证号\":
\"T37120080101000571\",\"项目名称\":
\"山东省济南市华山镇地热资源可执行性勘查\","
+"\"探矿权人\":
\"山东省地矿工程勘察院\",\"勘查单位\":
\"山东省地矿工程勘察院\",\"勘查矿种\":
\"地热\","
+"\"勘查面积\":
\"0.68\",\"有效期限\":
\"2015.04.01-2017.03.31\",\"备注\":
\"未年检\"},"+
"{\"序号\":
\"3\",\"许可证号\":
\"T37120080101000545\",\"项目名称\":
\"山东省招远市灵山金矿深部及外围金矿详查\","
+"\"探矿权人\":
\"招远市灵山金矿\",\"勘查单位\":
\"山东招金地址勘查有限公司\",\"勘查矿种\":
\"金矿\","
+"\"勘查面积\":
\"1.17\",\"有效期限\":
\"2014.12.30-2016.12.29\",\"备注\":
\"未年检\"},"+
"{\"序号\":
\"4\",\"许可证号\":
\"T37120080101000547\",\"项目名称\":
\"山东省蒙阴县沙沟峪地区金矿详查\","
+"\"探矿权人\":
\"山东华腾矿业勘查开发集团有限公司\",\"勘查单位\":
\"山东华腾矿业勘查开发集团有限公司\",\"勘查矿种\":
\"金矿\","
+"\"勘查面积\":
\"12.01\",\"有效期限\":
\"2015.01.01-2016.12.31\",\"备注\":
\"未年检\"},"+
"{\"序号\":
\"5\",\"许可证号\":
\"T37120080101000568\",\"项目名称\":
\"山东省蓬莱市吉英山地区金矿详查\","
+"\"探矿权人\":
\"蓬莱鑫冠矿业有限公司\",\"勘查单位\":
\"山东招金地质勘查有限公司\",\"勘查矿种\":
\"金矿\","
+"\"勘查面积\":
\"8.09\",\"有效期限\":
\"2015.04.01-2017.03.31\",\"备注\":
\"未年检\"},"+
"{\"序号\":
\"6\",\"许可证号\":
\"T37120080101000551\",\"项目名称\":
\"山东省沂水县高庄地区铜矿详查\","
+"\"探矿权人\":
\"山东省临沂地质矿产开发公司\",\"勘查单位\":
\"山东省第七地质矿产勘察院\",\"勘查矿种\":
\"铜矿\","
+"\"勘查面积\":
\"3.81\",\"有效期限\":
\"2015.04.01-2017.03.31\",\"备注\":
\"未年检\"},"+
"{\"序号\":
\"7\",\"许可证号\":
\"T37120080101000560\",\"项目名称\":
\"山东省沂水县双山地区钛铁矿详查\","
+"\"探矿权人\":
\"山东蒙山物资进出口有限公司\",\"勘查单位\":
\"山东省物化勘察院\",\"勘查矿种\":
\"铁矿\","
+"\"勘查面积\":
\"3.51\",\"有效期限\":
\"2015.01.01-2016.12.31\",\"备注\":
\"未年检\"}]";
publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException{
response.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=UTF-8");
response.setHeader("Pragma","No-cache");
response.setHeader("Cache-Control","no-cache");
response.setDateHeader("Expires",0);
try{
PrintWriterout=response.getWriter();
out.write(data);
out.flush();
out.close();
}catch(IOExceptione){
e.printStackTrace();
}
}
publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException{
response.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=UTF-8");
response.setHeader("Pragma","No-cache");
response.setHeader("Cache-Control","no-cache");
response.setDateHeader("Expires",0);
try{
response.getWriter().write(data);
}catch(IOExceptione){
}
PrintWriterout=response.getWriter();
out.println("
DOCTYPEHTMLPUBLIC\"-//W3C//DTDHTML4.01Transitional//EN\">");
out.println("");
out.println("
AServlet");
out.println("
");
out.print("Thisis");
out.print(this.getClass());
out.println(",usingthePOSTmethod");
out.println("");
out.println("");
out.flush();
out.close();
}
}
在网页http:
//127.0.0.1:
8000/DataSo/jngtj/tbb显示结果为:
(2)打开Portal,在页面编辑状态下点击添加内容,在弹出控件菜单中选择应用程序集成->数据呈现器可视化
页面上就已经加载好控件了,如图:
(3)点击控件,在弹出菜单中点击配置,添加数据源,填入名称和资源路径,点击测试,返回数据即测试成功,如图:
点击下一步,选择显示形式,此处我们table表格,下一步,选择要显示的行与列,如下图:
点击保存即可完成操作,最终显示结果如下:
四、折线图报表
(1)Java代码如下
/**
*此类为添加折线图的例子
*@authorheihei
*
*/
publicclassLineextendsHttpServlet{
publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException{
response.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=UTF-8");
response.setHeader("Pragma","No-cache");
response.setHeader("Cache-Control","no-cache");
response.setDateHeader("Expires",0);
//response.setContentType("text/html");
PrintWriterout=response.getWriter();
out.write(getTestJSON());
out.flush();
out.close();
}
publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException{
response.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=UTF-8");
response.setHeader("Pragma","No-cache");
response.setHeader("Cache-Control","no-cache");
response.setDateHeader("Expires",0);
try{
response.getWriter().write(getTestJSON());
}catch(IOExceptione){
}
PrintWriterout=response.getWriter();
out.println("
DOCTYPEHTMLPUBLIC\"-//W3C//DTDHTML4.01Transitional//EN\">");
out.println("");
out.println("
AServlet");
out.println("
");
out.print("Thisis");
out.print(this.getClass());
out.println(",usingthePOSTmethod");
out.println("");
out.println("");
out.flush();
out.close();
}
/**
*数据每次add认为是一组,即一个月份的数据
*@return
*/
publicStringgetTestJSON(){
List