Рендеринг форм HIPPO CMS требует перезагрузки браузера - PullRequest
0 голосов
/ 26 сентября 2018

В настоящее время я работаю с рендерингом форм гиппопотама 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), чтобы получить сообщения.

¿Любая подсказка, что может быть причиной этого поведения?

Буду признателен за любые предложения относительно этого поведения

...