jsp如何显示JFreeChart的图片 在中 Action创建JFreeChart 的图片,图片已经在 Tomcat/temp临时目录下生成了,图片如何在j s p 上显示呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 直接在jsp里用<%= %>就可以 String filename = ServletUtilities.saveChartAsPNG(chart, 500, 300, null,session);String graphURL = request.getContextPath() + "/servlet/DisplayChart?filename=" + filename; 这样也显示不出来?是为何? 可以用这个代码,在servlet下生成临时图片,返回图片名filenameString filename=ServletUtilities.saveChartAsPNG(jfchart,width,height,session);然后拼出路径String graphURL=request.getContextPath()+"/servlet/DisplayChart?filename="+fileName;页面显示时直接调graphURL就行<img src="<%=graphURL%>" border=0> 我在Action的方法中就事这样写的,把路径传到jsp中,jsp中图片依旧显示不出来,图片在tomcat/temp临时目录下已经生成了,无语了.... <%@ page language="java" import="java.util.*,net.zontin.signature.util.json.*,net.zontin.signature.smcic.*" pageEncoding="UTF-8"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head> <title>用户报表统计</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <link href="${pageContext.request.contextPath}/css/management/management.css" type="text/css" rel="stylesheet" /> <script type="text/javascript" src="../../FusionChartsFree/JSClass/FusionCharts.js"></script> <style type="text/css"> <!-- body { font-family: Arial, Helvetica, sans-serif; font-size: 12px; } .text{ font-family: Arial, Helvetica, sans-serif; font-size: 12px; } --> </style></head><body><% String json = smcic.call_get_feeinfo("", "").get("value").toString(); JSONArray jsonArray = new JSONObject(json).getJSONArray("Table"); String strXML = "<graph caption='User Output report' subCaption='By FeeInfo' decimalPrecision='0' showNames='1' numberSuffix=' Units' pieSliceDepth='30' formatNumberScale='0'>"; if(jsonArray.getJSONObject(0).names() != null){ int totalCounts = 0; for(int i = 0; i < jsonArray.length(); i++){ int feeid = Integer.parseInt(jsonArray.getJSONObject(i).getString("feeid").toString()); String feename = (String)jsonArray.getJSONObject(i).getString("feename"); String userFeeJson = smcic.call_get_user("",feeid,0,10000).get("value").toString(); JSONArray userFeeJsonArray = new JSONObject(userFeeJson).getJSONArray("Table"); if(userFeeJsonArray.getJSONObject(0).names() != null){ totalCounts = userFeeJsonArray.length(); } strXML += "<set name='" + feename + "' value='" + totalCounts + "'/>"; } } strXML += "</graph>";%><div id="middle_right"><jsp:include page="../../FusionChartsFree/Includes/FusionChartsRenderer.jsp" flush="true"> <jsp:param name="chartSWF" value="../../FusionChartsFree/Charts/FCF_Pie3D.swf" /> <jsp:param name="strURL" value="" /> <jsp:param name="strXML" value="<%=strXML %>" /> <jsp:param name="chartId" value="FactorySum" /> <jsp:param name="chartWidth" value="270" /> <jsp:param name="chartHeight" value="270" /> <jsp:param name="debugMode" value="false" /> <jsp:param name="registerWithJS" value="false" /></jsp:include> </div></body></html> 要不你用这个FileOutputStream fos_jpg = new FileOutputStream("D:\\a.jpg");ChartUtilities.writeChartAsJPEG(fos_jpg,1,jfchart,550,400,null);把图片直接生成到本地,看看什么效果 本地tomcat的临时目录下一直都可以生成的. 怎样用ActionContext获得application对象 多对多的关系在jsp页面如何体现 菜鸟JSP如何入门??????? 难道这是js漏洞?? 恳求一条sql语句 急急急!!! jsp连接sql问题 我的TOMCAT连接池类在操作是会产生connection is closed的现象不知道为何? session简单问题 javamail api发邮件 新手请教一个服务器启动报错问题。 有关于FreeMarker
session);
String graphURL = request.getContextPath() + "/servlet/DisplayChart?filename=" + filename; 这样也显示不出来?是为何?
String filename=ServletUtilities.saveChartAsPNG(jfchart,width,height,session);
然后拼出路径
String graphURL=request.getContextPath()+"/servlet/DisplayChart?filename="+fileName;
页面显示时直接调graphURL就行
<img src="<%=graphURL%>" border=0>
我在Action的方法中就事这样写的,把路径传到jsp中,jsp中图片依旧显示不出来,图片在tomcat/temp临时目录下已经生成了,无语了....
<%@ page language="java" import="java.util.*,net.zontin.signature.util.json.*,net.zontin.signature.smcic.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>用户报表统计</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link href="${pageContext.request.contextPath}/css/management/management.css" type="text/css" rel="stylesheet" />
<script type="text/javascript" src="../../FusionChartsFree/JSClass/FusionCharts.js"></script>
<style type="text/css">
<!--
body {
font-family: Arial, Helvetica, sans-serif;
font-size: 12px;
}
.text{
font-family: Arial, Helvetica, sans-serif;
font-size: 12px;
}
-->
</style>
</head>
<body>
<%
String json = smcic.call_get_feeinfo("", "").get("value").toString();
JSONArray jsonArray = new JSONObject(json).getJSONArray("Table");
String strXML = "<graph caption='User Output report' subCaption='By FeeInfo' decimalPrecision='0' showNames='1' numberSuffix=' Units' pieSliceDepth='30' formatNumberScale='0'>";
if(jsonArray.getJSONObject(0).names() != null){
int totalCounts = 0;
for(int i = 0; i < jsonArray.length(); i++){
int feeid = Integer.parseInt(jsonArray.getJSONObject(i).getString("feeid").toString());
String feename = (String)jsonArray.getJSONObject(i).getString("feename");
String userFeeJson = smcic.call_get_user("",feeid,0,10000).get("value").toString();
JSONArray userFeeJsonArray = new JSONObject(userFeeJson).getJSONArray("Table");
if(userFeeJsonArray.getJSONObject(0).names() != null){
totalCounts = userFeeJsonArray.length();
}
strXML += "<set name='" + feename + "' value='" + totalCounts + "'/>";
}
}
strXML += "</graph>";
%>
<div id="middle_right">
<jsp:include page="../../FusionChartsFree/Includes/FusionChartsRenderer.jsp" flush="true">
<jsp:param name="chartSWF" value="../../FusionChartsFree/Charts/FCF_Pie3D.swf" />
<jsp:param name="strURL" value="" />
<jsp:param name="strXML" value="<%=strXML %>" />
<jsp:param name="chartId" value="FactorySum" />
<jsp:param name="chartWidth" value="270" />
<jsp:param name="chartHeight" value="270" />
<jsp:param name="debugMode" value="false" />
<jsp:param name="registerWithJS" value="false" />
</jsp:include>
</div>
</body>
</html>
FileOutputStream fos_jpg = new FileOutputStream("D:\\a.jpg");
ChartUtilities.writeChartAsJPEG(fos_jpg,1,jfchart,550,400,null);
把图片直接生成到本地,看看什么效果