在oracle adf项目中的Captcha

时间:2014-03-20 13:55:01

标签: captcha oracle-adf

我尝试使用验证码,因为它在此示例中显示: http://www.oracle.com/technetwork/developer-tools/jdev/captcha-099103.html 它在.jspx页面或.jsff页面片段中工作正常,但我必须将验证码放在任务流的第一页上,并且......它没有更新! / *我的意思是按钮"无法读取图像"没有工作* /我不知道为什么。有人可以帮忙吗?

实际上,我想出了如何自己做: 我们需要在bean和重置方法中使用验证码图像绑定:

private RichImage captchaImage;
public void setCaptchaImage(RichImage captchaImage) {
    this.captchaImage = captchaImage;
}
public RichImage getCaptchaImage() {
    return captchaImage;
}
public void resetCaptcha(ActionEvent actionEvent) {
    captchaImage.setSource("/captchaservlet?rand=" + 
                           String.valueOf(Math.random()));          
    AdfFacesContext.getCurrentInstance().addPartialTarget(captchaImage.getParent());
}

所有,我不知道怎么做是将参数添加到" / captchaservlet" 现在它工作正常:))

但是出现了下一个问题:当从任务流程中的第二个问题返回到具有验证码的页面时,我需要刷新验证码图像。是否有任何方法在页面返回时执行?

1 个答案:

答案 0 :(得分:0)

Aaaaaaaaaa和我找到了更优雅的解决方案:只需使用表达式构建器将验证码图像的源设置为此方法:

public String getCaptchaSource() {
    return "/captchaservlet?rand=" + String.valueOf(Math.random());
}

按钮"刷新"当然应该被设置为图像的部分触发器,如示例中所示。 这就是它:)