将生成的图像显示到<img>
标记的正确方法是什么?我尝试使用专门用于img的不同控制器
<div class="img">
<img src="../resource/img/get_chart.do" class="img-rounded" />
</div>
它自己的页面的url映射是不同的。
但图像仍未显示。
@RequestMapping( value = "/resource/img/get_chart", method = RequestMethod.GET )
public void displayChart( HttpServletResponse response )
{
response.setContentType( "image/png" );
try
{
JFreeChart chart = createChart();
ChartUtilities.writeChartAsPNG( response.getOutputStream(), chart, 700, 500 );
response.getOutputStream().close();
}
catch( IOException e )
{
e.printStackTrace();
}
}
警告:找不到带URI的HTTP请求的映射 [/Project/resource/img/get_chart.do]在DispatcherServlet中的名称 '项目'
我收到了这个。
更新:
<servlet>
<servlet-name>Project</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Project</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
答案 0 :(得分:0)
您的RequestMapping不正确。将其更改为
/resource/img/get_chart.do
答案 1 :(得分:0)
最后我发现了我的错误。加载<img>
标记所在页面和图像src的映射不应该在不同的类中。
我的错误是我为@RequestMapping( value = "/resource/img/get_chart", method = RequestMethod.GET )
创建了一个单独的类。此映射也应该沿着第一页加载的控制器放置。这解决了我的问题。