Springで書籍登録機能を作成しております。
headerに新規登録ページへ遷移するURLを記載しておりますが、上手く遷移しません。
新規登録ページへの遷移ボタンを押すと、
/book_list/book/cretate/input
と表示させたいのですが、
/book_list/book/@%7B/book/create/input/%7D
となります。(コンテキストパス:book_list)
URLに問題があると思うのですが、URLに含まれている「%7D」が何なのかが分かりません。
解決策が知りたいです。
◆controller
@RequestMapping("/book/create/input") public String createInput() { return "create"; } @RequestMapping(path = "/book/create/complete", method = RequestMethod.POST) public String createComplete(BookForm form) { Book book = new Book(); book.setBookId(form.getBookId()); book.setBookName(form.getBookName()); book.setAuthor(form.getAuthor()); book.setPublicationDate(form.getPublicationDate()); book.setStock(form.getStock()); int genreId = form.getGenreId(); Genre genre = genrerepository.getOne(genreId); book.setGenre(genre); bookrepository.save(book); return "list"; }
◆html(form)
<!DOCTYPE html> <html xmlns:th="http://www.thymeleaf.org" th:replace="~{layout :: layout(~{::title},~{::body/content()})}"> <head> <head> <meta charset="UTF-8"> <title></title> </head> <body> <div>書籍の新規登録</div> <form method="post" th:action="@{/book/create/complete}"> 書籍ID:<input type="text" name="bookId" /> 書籍名:<input type="text" name="bookName" /> 著者:<input type="text" name="author" /> 発行日:<input type="text" name="publicationDate" /> 在庫:<input type="number" name="stock" /> ジャンル名:<select name="genreId"> <option th:each="genre: ${genres}" th:text="${genre.genreName}" > </option> </select> <input type="submit" value="登録する" /> </form> </body> </html>
◆html(header)
<a href="@{/book/create/input/}">新規登録</a>
◆Form
private int bookId; private String bookName; private String author; private Date publicationDate; private int stock; private int genreId;
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。