0

動的 URL を処理できるコントローラーをコーディングしようとしています。

コントローラーは次のとおりです。

@RequestMapping( value = "/*/module/{file_id}" )
public String getModule( @PathVariable( "file_id" )
int fileId, Model model )
{
    return "redirect:../*/module/" + fileId;
}

リンク:

<a href="../module/${ file_id }" >Spring Tutorial</a>

エラーが発生し404: The requested resource is not available.ます。私は何を間違っていますか?

4

1 に答える 1

0

パスのプレースホルダーとしてアスタリスクを渡すことはできないと思います。あなたがやりたいことは、次のようにパス変数を使用することだと思います:

@RequestMapping( value = "/{prePath}/module/{file_id}" )
public String getModule( @PathVariable( "prePath" ) String prePath, @PathVariable( "file_id" ) int fileId, Model model ) {
}

パス変数に正規表現を渡して、一致をさらに絞り込むこともできます。

@RequestMapping( value = "/{prePath:[a-zA-Z]+}/module/{file_id}" )
public String getModule( @PathVariable( "prePath" ) String prePath, @PathVariable( "file_id" ) int fileId, Model model ) {
}

私の意見では、これは良い習慣になるでしょう。

于 2013-10-28T11:37:54.207 に答える