正しいコントローラーでフォーム POST データを処理するように spring MVC を構成する際に問題があります。add
データベースに新しいレコードを追加するアクションがあります。
フォームが送信された後、404 エラー ( http://localhost:8084/lyricsBase/song/submit.html
) が表示されるので、フォーム送信のルーティングに問題があると思います。
これは私のコントローラコードです:
public class SongController extends MultiActionController {
[...]
@RequestMapping(value = "/song/submit.html", method = RequestMethod.POST)
public ModelAndView submit(@RequestParam("song") Song song) throws Exception {
HashMap model = new HashMap();
model.put("song", song);
// or do something better here...
return new ModelAndView("t.edit", model);
}
これはビュー フォーム タグです。
<form:form method="POST" commandName="song" action="submit.html">
私のアプリケーションのコードはgithubで入手できます。重要なファイルは次のとおりです。フォームビュー、コントローラー(アクションごとに個別のファイルを作成したくないため、クラスはマルチコントローラーです) およびサーブレット構成。
それが問題かどうかはわかりませんが、ビュー レイヤーにタイルを使用しています (また、論理ビュー名はtiles.xmlで使用されます)。
その上、私はスプリング ルーティングがどのように機能するかを完全には理解していません。今まではサーブレットxmlでマッピングを定義していたのですが、それが良いアプローチかどうかわかりません...