2013-11-12 4 views
1

Я знаю, что есть много подобных сообщений. Но я не нашел полного кода того, как отображать JFreeChart в теге <img>.Дисплей JFreeChart с пружиной MVC (картинка не найдена)

Я показываю изображение при загрузке страницы.

Примечание: URL-адрес этой страницы:

@RequestMapping(value = "/admin/student", method = RequestMethod.GET) 

На той же странице я пытаюсь получить OnLoad изображения с различным отображением URL. (я не, если это возможно, но отображение URL Я думаю, где ошибка)

<div class="chart-image"> 
    <img src="../admin/student/getChart.do" class="img-rounded" /> 
</div> 

Контроллер, визуализации диаграммы заключается в следующем:

@RequestMapping(value = "/{prePath:^tutor$|^admin$}/student/getChart", method = RequestMethod.GET) 
public void displayChart(HttpServletResponse response) 
{ 
    response.setContentType("image/png"); 
    try 
    { 
     JFreeChart chart = getChart(); 
     ChartUtilities.writeChartAsPNG(response.getOutputStream(), chart, 600, 400); 
     response.getOutputStream().close(); 
    } 
    catch(IOException e) 
    { 
     // no logger yet 
     e.printStackTrace(); 
    } 
} 

Я получаю это сообщение от моей консоли:

ПРЕДУПРЕЖДЕНИЯ: Нет отображения найденного запроса HTTP с URI [/ThesisProject/admin/student/getChart.do] в DispatcherServlet с имя «ThesisProject»

Я не понимаю почему мой <img> тег не кажется видеть контроллер, предположим, чтобы сделать диаграмму.

ответ

0

У вас есть .do расширения в вашей URL, но не в вашем @RequestMapping, поэтому изменить отображение включить его:

@RequestMapping(value = "/{prePath:^tutor$|^admin$}/student/getChart.do", method = RequestMethod.GET) 

Или ваши всегда может удалить .do расширение из URL в <img> тега, но это зависит от того, как вы отображаете DispatcherServlet в web.xml (то есть *.do)