從一個servlet,我將轉發請求到一個呈現FusionChart的JSP頁面。 但我在加載圖表時遇到問題。 JSP文件未檢測到JavaScript文件。文件夾結構是:JSP未檢測到javascript文件
axis
|
WebContent
|
WEB-INF
|
classes
|_ com
|_FusionCharts.js
|_MyChartJsp.jsp
|_Line.swf
而JSP代碼:
<html>
<head>
<script language="text/javascript" src="/WEB-INF/classes/FusionCharts.js"></script>
</head>
<body bgcolor="#ffffff">
<div id="chartdiv" align="left">The chart will appear within
this DIV. This text will be replaced by the chart.</div>
<script type="text/javascript">
var foo = //value fetched from DAO
var myChart = new FusionCharts("/WEB-INF/classes/Line.swf",
"myChartId", "1000", "500");
myChart
.setDataXML("<graph caption='aCaption' xAxisName='xAxis' yAxisName='yAxis' showNames='1' decimalPrecision='0' formatNumberScale='0'>"+foo+"</graph>");
myChart.render("chartdiv");
</script>
</body>
</html>
servlet代碼將所述請求轉發:
final RequestDispatcher requestDispatcher = request.getRequestDispatcher("/WEB-INF/classes/MyChartJsp.jsp");
requestDispatcher.forward(request, response);
的要求越來越轉發到JSP。但沒有得到顯示在圖表,因爲它無法找出FusionCharts
是在該行
var myChart = new FusionCharts("/WEB-INF/classes/Line.swf",
"myChartId", "1000", "500");
我試圖
src="/FusionCharts.js"
src="FusionCharts.js"
,但沒有運氣。
它與請求被轉發有關嗎?
還應該注意的是Line.swf文件也不可訪問。像JavaScript文件一樣,它應該從WEB-INF文件夾下移出。 – 2010-09-30 13:51:16
我已將.js文件移出WEB-INF。但仍然沒有運氣。當我將JSP文件移出WEB-INF時,它確實有效。所有三個(.js,.jsp,.swf)文件我放在「WebContent/FusionCharts /」,它的工作。如果我將JSP文件放在WEB-INF之外,可以嗎? – HanuAthena 2010-09-30 14:51:49
@HanuAthena查看更新 – Bozho 2010-09-30 15:01:49