1

これに似た投稿がたくさんあることは知っています。<img>しかし、タグに JFreeChart を表示する方法の完全なコードは見つかりませんでした。

ページのオンロード画像を表示しています。

注:このページの URL は次のとおりです。

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

同じページで、別の 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();
    }
}

コンソールから次のメッセージが表示されます。

警告: 「ThesisProject」という名前の DispatcherServlet で、URI [/ThesisProject/admin/student/getChart.do] の HTTP 要求のマッピングが見つかりませんでした

<img>グラフをレンダリングすると思われるコントローラーがタグに表示されないのはなぜですか。

4

1 に答える 1

0

URL には.do拡張子がありますが にはありません@RequestMapping。マッピングを変更してそれを含めます。

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

.doまたは、タグ内の URL から拡張子を常に削除することもでき<img>ますが、DispatcherServlet をどのようにマッピングしているかによって異なりますweb.xml (つまり*.do) 。

于 2013-11-12T23:29:55.637 に答える