В настоящее время я работаю с рендерингом форм гиппопотама https://www.onehippo.org/library/concepts/component-development/hst-2-forms.html, на моем гиппопотаме CommonComponent У меня есть следующий код, так что я могу передавать в движок шаблонов сообщения об ошибках рендеринга в doBeforeRender
@Override
public void doBeforeRender(HstRequest request, HstResponse response) {
super.doBeforeRender(request, response);
HippoBean scope = request.getRequestContext().getSiteContentBaseBean();
loadValueList(request, scope);
FormMap map = FormUtils.getFormMap(request);
if(map.getMessage().isEmpty()){
map = FormUtils.getFormMap(request);
}
Optional<String> result = Optional.ofNullable(map.getMessage().get(REGISTER_RESULT));
Optional<String> message = Optional.ofNullable(map.getMessage().get(REGISTER_RESULT_MESSAGE));
request.setAttribute(REGISTER_RESULT, result.isPresent() ? Boolean.valueOf(result.get()) : StringUtils.EMPTY);
request.setAttribute(REGISTER_RESULT_MESSAGE, message.isPresent() ? message.get() : StringUtils.EMPTY);
map.setSealed(true);
}
@Override
public void doAction(HstRequest request, HstResponse response) throws HstComponentException {
super.doBeforeRender(request, response);
FormMap map = getFormMapFields(request);
GenericRestResponse result;
try{
UserRegistrationProfileDTO profile = UserRegistrationProfileDTO.ofWithCheckFiles(map);
result = userAPIClient.requestUserCreationWithoutCredentials(profile);
}catch (IllegalArgumentException ex){
result = GenericRestResponse.builder().success(false).message(ex.getMessage()).build();
}
map.addMessage(REGISTER_RESULT, String.valueOf(result.isSuccess()));
map.addMessage(REGISTER_RESULT_MESSAGE, String.valueOf(result.getMessage()));
FormUtils.persistFormMap(request, response, map, null);
}
Проблема заключается в том, что сервер отвечает на POST-запрос формы перенаправлением на исходный URL-адрес формы с помощью метода GET, сообщения формы отсутствуют, и мне нужно перезагрузитьстраница (Ctrl + R), чтобы получить сообщения.
¿Любая подсказка, что может быть причиной этого поведения?
Буду признателен за любые предложения относительно этого поведения