簡體   English   中英

JFreeChart映像在JSP中未刷新

[英]JFreeChart image not refreshing in JSP

我有一個jsp頁面,其中包含兩個文本字段Start Date和End Date。 用戶將輸入開始日期和結束日期,然后查詢這些日期之間的數據。 當我單擊提交時,它會將其轉發到當前頁面,並將日期作為參數傳遞。 到目前為止,一切都很好,但是問題是圖像jfreechart不會刷新,除非我刷新瀏覽器本身。

這是我的表格。

  <form method="GET" action='monitor' name="check">
  <table>
  <tr>
  <td>Start Date (dd/MM/yyyy format):</td>
  <td><input type="text" name="startDate"
  value="<%=startDate%>"></td>
  </tr>
  <tr>
  <td>End Date (dd/MM/yyyy format):</td>
  <td><input type="text" name="endDate" value="<%=endDate%>"></td>
  </tr>
  <tr>
  <td><input type="submit" value="check"></td>
  </tr>
  </table>
  </form>

  <img src="lineChart.png" width="600" height="400" border="0" usemap="#chart" />

這是我用於生成圖表的內聯代碼

   final File file1 = new File(getServletContext().getRealPath(".") + "/lineChart.png");
   ChartUtilities.saveChartAsPNG(file1, chart, 600, 400, info);

我嘗試做writeChartAsPNG,但是它將覆蓋整個頁面。 頁面應該看起來像,

Start Date:
End Date: 

[ VIEW ] 

Monitor Data Chart
[  chart here ]

您必須進行相當大的改變,才能在單擊View時刷新頁面內的圖像,並且最終會編寫相當多的javascript

本質上必須發生的事情(相當高的水平)

  1. 使“ View常規”按鈕,而不是在表單上提交。
  2. 將點擊偵聽器附加到查看按鈕(請查看jQuery文檔中的點擊功能)
  3. 在偵聽器中,從“開始日期”和“結束日期”輸入中獲取值
  4. 將圖像的src屬性設置為jsp或servlet(使用此SO答案中的機制),將開始和結束日期作為get變量發送(在查詢字符串中,例如?startdate= ... &enddate= ...
  5. 在該jsp或servlet中,生成圖表並從jFreeChart返回原始png輸出,其內容類型為image/png (使用response.setContentType("text/png") )。 這將在img標簽中正確顯示圖像,並且您也不必將文件寫出到磁盤上。

每次您點擊View ,此過程都會使用您在表單中輸入的值來更新圖像。

這是很多步驟,在不全面了解設置的情況下,我無法真正進入實現的精髓,但是希望這將為您指明正確的方向

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM