マイRequestController:バインド要求のマッピング(Springboot)
@Controller
@RequestMapping("/request")
public class RequestsController {
private static final Logger log = LoggerFactory.getLogger(TmtApplication.class);
@Autowired
RequestRepository requestRepository;
@Autowired
UsersRepository usersRepository;
@RequestMapping("/save")
String saveRequest()
{
Request requestObj = new Request(usersRepository.findOne(1L), new Date());
requestObj.setDescription("I got so bored");
requestObj.setStatus(false);
requestObj.setRequestDate(new Date());
requestRepository.save(requestObj);
return "index";
}
}
マイボタン:
<input type="submit" value="Submit Request" style="display: block;">
私はこの要求をオフに発射する私のボタンを取得しようとしています。私のHTMLに追加して/ saveの呼び出しを開始するにはどうすればよいですか?
更新:
フォーム:
<form action="/request/save" method="post" commandName="requestData">
<input type="text" id="dateInput" value="" style="display: none;"/>
<div style="width: 200px;"><input type="submit" value="Submit Request" style="display: block;">
</div>
</form>
コントローラー:
@RequestMapping(value = "/save", method = RequestMethod.POST)
String saveRequest(@ModelAttribute("requestData") Request requestData, Map<String, Object> map,
HttpServletRequest request)
{
Request requestObj = new Request(usersRepository.findOne(1L), new Date());
requestObj.setDescription(requestData.getDescription());
requestObj.setStatus(false);
requestObj.setRequestDate(requestData.getRequestDate());
requestRepository.save(requestObj);
return "save";
}
リクエストマッピングを「POST」メソッドに変更しました。フォームアクションは '' save''または '' request/save''ですか? – santafebound
あなたのHTMLが提供されているURLによって異なります。あなたは "/ request/save"(スラッシュ接頭辞に注意してください)を使うことができ、それはあなたのルートに相対的です。私はそれがあなたのためにうまくいくと思う。代わりに、あなたのHTMLが/からリクエストされている場合は、 "save"の相対アクションを使用することができます –
デフォルトのメソッドは 'GET'ではありません。 '@ RequestMapping'の' method'パラメータにはデフォルト値がありません。つまり、メソッドの型を絞り込まなければ、すべてのタイプの要求を処理します。 – sedooe