Я пытаюсь перенаправить свой запрос на редактирование страницы, если статус не получен из ответа сервера. Код ниже даст нам больше ясности. обновлены имя переменной и идентификаторы из-за протокола.
Контроллер:
@Controller
@RequestMapping("abc")
public class CredentialsController {
@RequestMapping(value = "/editCredentials", method = RequestMethod.POST)
public String editCredentials(
@ModelAttribute(value = "credential")
Credentials credential, HttpServletRequest request, Model model
) throws Exception {}
@RequestMapping(value = "/update/{abc}", method = {RequestMethod.POST, RequestMethod.GET})
public ModelAndView update (
@Valid Form cForm, BindingResult bindResult,@PathVariable String abc,HttpServletRequest request, Model model
) throws Exception {
if(response.getMessageStatus().getStatus().equalsIgnoreCase("fail")){
model.addAttribute("response",response);
//TODO: redirect to edit page
return new ModelAndView("redirect:/app/editcredentials");
}
}
}
HTML:
<form name="carrier" id="carrierId" action="#" th:action="@{/app/update/} + ${abc}" th:object="${cForm}" method="post">
<div class="column-60" style="margin-left: auto; margin-right: auto; float: none;">
<p class="form-header">Edit Form - <span th:text = ${Name}></span>
.....
.....
<input type="submit" id="subBtn" class="button-orange" value="Save">
</form>
Выше код не перенаправляет на страницу редактирования, я попытался вернуть String in Controller «editcredentials», но не загружал страницу. Примечание: Я нахожусь на странице редактирования и сохраняю данные. Если ответ от сервера не получен, мне нужно открыть ответное сообщение и остаться на странице редактирования (той же). Если у нас есть какое-либо решение, использующее Jquery и Javascript также будет работать. Я также искал, как перенаправить на GET для POST и попытался, но не повезло. Спасибо