私はThymeleafのフォームを持っていますが、これはユーザーからデータを受け取ります。それは次のようになります。Thymleafフォーム提出の結果は404ですか?
\t <h1>Form</h1>
<form action="#" th:action="@{/addArticle}" th:object="${article}" method="post">
\t <p>Id: <input type="text" th:field="*{id}" /></p>
<p>Message: <input type="text" th:field="*{title}" /></p>
<p>Message: <input type="text" th:field="*{authors}" /></p>
<p>Message: <input type="text" th:field="*{genre}" /></p>
<p>Message: <input type="text" th:field="*{content}" /></p>
<p>Message: <input type="text" th:field="*{date}" /></p>
<p><input type="submit" value="Submit" /> <input type="reset" value="Reset" /></p>
</form>
問題は、私は、このフォームを送信するたびに、それはモンゴデータベースに保存したり、結果のページが表示されません、です。代わりに、それは404がスローされます私は、このエラーはURLから来ていることに気づく:私は、私が呼ばれているページにリダイレクトしようとしているので、
これは、奇妙ですreturn.html (正しいディレクトリに存在し、htmlが有効であることをテストしました)。これは私のコントローラである:
>@Controller
@RequestMapping("/articles")
public class ArticleController {
private ArticleRepo articleRepo;
@Autowired
public ArticleController(ArticleRepo articleRepo) {
this.articleRepo = articleRepo;
}
@RequestMapping(value = "/findAll", method = RequestMethod.GET)
@ResponseBody
public List<Article> findall() {
return articleRepo.findAll();
}
@GetMapping("/addArticle")
public String getAddArticle(Model model) {
model.addAttribute("article", new Article());
return "submitAnArticle";
}
@PostMapping("/addArticle")
public String submitAddArticle(@ModelAttribute Article newArticle) {
articleRepo.save(newArticle);
return "result";
}
}
私は、スタックオーバーフローを閲覧し、参考のためにthis春のドキュメントを使用してみましたが、私はこだわっています。
最も重要な質問 1.誰でもこのフォームを動作させることができますか、おそらくこのエラーを特定できますか?
ボーナスの質問 2.私はThymeleafの変わったフォームのものに切り替える前に、すでにこれをJavascriptで正常に処理していました。とにかく私はちょうどここからデータを取って、以前使っていたようにJavaScriptに入れてもいいですか?私は標準のHTMLフォームのものを使ってみましたが、何もしません。 3. AJAX経由でページをリダイレクトせずにこれを行う方法はありますか?
一貫してupvotedされているので、私は質問がスタックオーバーフローをぶち壊しているようですが、どちらかが間違った応答か全くありません。これに関する助けがあれば大いに感謝します。
マッピングを見て
_アプリケーション全体を提供していない限り、誰もこのフォームを動作させることができますか?それは起こりそうもなく、この質問は話題には余りにも広すぎます。問題を示す[mcve]を提供できる場合は、多分私たちを助けることができます。 –