2016-05-30 7 views
0

私はコントローラを持っていますが、その上にダブルスラッシュを入れています。 Spring MVC - RequestMappingのダブルスラッシュがCSSリンクのバグを引き起こします。

@RequestMapping(value="/vehicles/add", method = RequestMethod.GET) 
    public String addVehicle(Model model) { 
    model.addAttribute("vehicle", new Vehicle()); 
    return "newvehicle"; 
} 

とCSSのリンク:

<link rel="stylesheet" type="text/css" href="css/main.css"/> 

何が起こったのは、私はダブルスラッシュを持っている場合、HTMLのCSSのリンクが働いていなかったです。だから私はちょうど単一スラッシュを使用しようとしました

RequestMapping(value="/add", method = RequestMethod.GET) 

それが働いた。しかし、私はダブルスラッシュをしたい。何が問題だと思いますか?私はそれが単一のスラッシュで動作したので、ディレクトリが問題ではないと思います。

+1

http://server:port/<context-root>/<web-services-endpoint>/<rest-endpoint>/add

をこの詳細は春のドキュメントを参照してください二重または一重のスラッシュで行います。スタイルシートに絶対リンクを使用する相対リンクは使用しないでください。 –

+0

@ M.Deinumどうすればいいですか? – Lester

+0

春からのURLタグまたはJSTLライブラリのURLタグを使用します。 –

答えて

0

Spring MVCの@RequestMappingアノテーションの意味を誤解していると思います。

注釈に記載されているvalueは、実際に渡されるURIであり、指定されたメソッドが呼び出されます。例えば

、あなたはこれを書く:あなたはURL打ったとき

@RequestMapping(value="/vehicles/add", method = RequestMethod.GET) 
    public String addVehicle(Model model) { 
... 
... 
} 

これは、 - GETメソッドで、http://server:port/<context-root>/<web-services-endpoint>/<rest-endpoint>/vehicles/addを、あなたのAPI addVehicleが呼び出されます。

あなたが同じAPIのために@RequestMappingにvalue="/add"に言及した場合は、この打ったとき、それが呼び出されます:それはには何もありません http://docs.spring.io/autorepo/docs/spring/3.2.x/spring-framework-reference/html/mvc.html

関連する問題