单击提交按钮时的java重定向由于某些原因被阻止。(JSF2.0)
我的一张表格有一个很奇怪的问题
我有一个表单,可以注册用户并向他/她发送电子邮件。想用新的验证码替换我的旧验证码。一切都进行得很顺利,但当我点击提交按钮时(验证码输入正确),数据保存在数据库中,电子邮件被发送,但我没有被重定向到目标页面。我只给你看一点代码,这样你就知道我在说什么了:
这是我刚刚在表单中添加的组件
<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
为什么(页面名称正确,已经检查过几次:)
# 1 楼答案
您需要的是
action
,而不是actionListener
另请参见: