0

显示生成的图像以进行<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();
    }
}

警告:在名为“Project”的 DispatcherServlet 中未找到带有 URI [/Project/resource/img/get_chart.do] 的 HTTP 请求的映射

我明白了。

更新:

<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>
4

2 回答 2

0

您的 RequestMapping 不正确。将其更改为

/resource/img/get_chart.do

于 2013-11-12T23:42:27.577 回答
0

最后我发现了我的错误。加载<img>标签所在页面的映射和图像的 src 不应位于不同的类中。

我的错误是我为@RequestMapping( value = "/resource/img/get_chart", method = RequestMethod.GET ). 这个映射也应该沿着加载第一页的控制器放置。这解决了我的问题。

于 2013-11-13T00:19:34.183 回答