У меня очень странная проблема с одной из моих форм.
У меня есть форма, которая регистрирует пользователя и отправляет ему / ей электронное письмо. Хотел заменить мою старую капчу новой. Все шло хорошо, но когда я нажимаю на кнопку отправки (и капча вводится правильно), данные сохраняются в базе данных, электронное письмо отправляется, но я не перенаправляюсь на страницу назначения. Я покажу вам немного кода, чтобы вы знали, о чем я говорю:
Это компонент, который я только что добавил в мою форму
<p:captcha label="Captcha" language="en" theme="white" publicKey="6Ld7pMESAAAAAHd1VihJkqPUXAJVwU3Cghc8fzrq"/>
<h:commandButton value="Registruj"
actionListener="#{registrationControllerBuyer.doRegisterBuyer}"/>
Также я добавил пару конфигураций в web.xml:
<!-- keys gotten from recaptcha -->
<context-param>
<param-name>primefaces.PUBLIC_CAPTCHA_KEY</param-name>
<param-value>6Ld7pMESAAAAAHd1VihJkqPUXAJVwU3Cghc8fzrq</param-value>
</context-param>
<context-param>
<param-name>primefaces.PRIVATE_CAPTCHA_KEY</param-name>
<param-value>6Ld7pMESAAAAAMhr5WSk5bcRrff8Y08NtDi8Buoq</param-value>
</context-param>
А это бит Java для обработчика кнопок:
public String doRegisterBuyer() throws Exception {
Buyer buyer = new Buyer();
buyer.setName(getName());
buyer.setSecondName(getSecondName());
buyer.setNickName("not specified");
buyer.setEmail(getEmail());
buyer.setPassword(getPassword());
buyer.setAcceptedTermsAndConditions(isAcceptedTermsAndConditions());
buyer.setNewsletterSubscription(isNewsletterSubscription());
buyer.setAccountStatus(AccountStattus.CREATED.toString());
Buyer tmpBuyer = tmpBuyer = buyersRegistratorEJB.createBuyer(buyer);
// Send activation link to user
emailServiceEJB.sendAccountActivationLinkToBuyer(tmpBuyer.getEmail()
.trim(), tmpBuyer.getName());
return "registrationSucceded.xhtml";
}
Кажется, что капча работает отлично:
-Если я ввел неправильный ввод в код проверки, метод doRegisteredBuyer () не выполняется
-Если я получаю правильный ввод с капчи, метод doRegisteredBuyer () действительно выполняется НО я не перенаправляюсь на registrationSucceded.xhtml
Почему это так (название страницы правильное, это уже несколько раз проверялось :))?