前提・実現したいこと
@RequestParamでname属性を取得したいのですがエラーが出てしまう
発生している問題・エラーメッセージ
Required request parameter 'question' for method parameter type String is not present org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'question' for method parameter type String is not present
該当のソースコード
@Controller @RequestMapping("/delete") public class DeleteController { @Autowired private QuestionService questionService; @Autowired private AnswerService answerService; @GetMapping String getRegiste(@RequestParam(name = "question") String q, Model model) { int question_id = Integer.parseInt(q); //クエスチョンの取得 Question question = questionService.findId(question_id); List<Answer> listA = answerService.findAnswer(question_id); model.addAttribute("question", question); model.addAttribute("answerList", listA); return "delete"; } @PostMapping String postRegiste(@RequestParam(name = "question", required = false) String q) { System.out.println(q); if (q != null) { int id = Integer.parseInt(q); questionService.delete(id); answerService.delete(id); } return "list"; } }
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org" > <head> <meta charset="utf-8" /> <link rel="stylesheet" href="style.css"> <title>タイトル</title> </head> <body> <main> <div class="header-box"> <a th:href="@{/top}"> <input type="button" value="top"> </a> <a th:href="@{/logout}"> <input type="button" value="logout"> </a> </div> <div class="button-box"> <div class="buttonsize-box"> <div class="tyuou"> <div class="questionーbox"> <label class="valign">問題:</label> <textarea class="text-size text-size-h250" rows="10" cols="60" th:text="${question.question}"></textarea> <p> <label>答え:</label> </p> <div th:each="answers, stat : ${answerList}"> <p> <input type="text" name="example" th:value="${answers.answer}" class="text-size"> </p> </div> </div> </div> <div class="center"> <a th:href="@{/list}"> <input type="button" value="戻る"> </a> <form th:action="@{/delete}" method="post"> <input type="submit" value="削除" > <input type="button" name="question" th:value="${question.id}" readonly> </form> </div> </div> </div> </main> </body> </html>
試したこと
・name属性の設定がされていない→指定済み
・valu=nullの可能性→type="button" で可視化し、valu値取得確認済み
null値で帰ってきてしまっているため、パラメーター自体が送信できていない。
切り口がわからないです。
アドバイスよろしくお願いいたします。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/05/14 07:22
2021/05/17 01:21
2021/05/17 01:33
2021/05/17 01:44