Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 用以前的数据填充表单数据重新加载页面的简单方法_Java_Html_Forms_Wicket - Fatal编程技术网

Java 用以前的数据填充表单数据重新加载页面的简单方法

Java 用以前的数据填充表单数据重新加载页面的简单方法,java,html,forms,wicket,Java,Html,Forms,Wicket,我有一个带有验证码图像的简单注册页面,我为用户提供了获取不同验证码图像的选项。起初,我只是尝试重新加载页面,这给了我一个新的验证码图像,但不幸的是,表单随后被清除,这将是不可接受的和烦人的用户 你将如何解决这个问题?如果我从“新图像”链接提交表单,wicket发布过程将在到达onSubmit函数之前返回各种验证错误,这也是不好的行为 我想我也可以添加ajax部分重新加载验证码图像,尽管这是一个更复杂的解决方案。任何指向好的、干净的解决方案的指针都很好。您可以在“新图像”链接中提交表单,方法是将表

我有一个带有验证码图像的简单注册页面,我为用户提供了获取不同验证码图像的选项。起初,我只是尝试重新加载页面,这给了我一个新的验证码图像,但不幸的是,表单随后被清除,这将是不可接受的和烦人的用户

你将如何解决这个问题?如果我从“新图像”链接提交表单,wicket发布过程将在到达onSubmit函数之前返回各种验证错误,这也是不好的行为


我想我也可以添加ajax部分重新加载验证码图像,尽管这是一个更复杂的解决方案。任何指向好的、干净的解决方案的指针都很好。

您可以在“新图像”链接中提交表单,方法是将表单设置为
按钮或
[Ajax]提交链接。然后,通过在该链接上调用
setDefaultFormProcessing(false)
,您可以跳过链接的
onSubmit
方法以外的所有内容:

checkForm.add(new SubmitLink("submit") {
    @Override
    public void onSubmit() {
        super.onSubmit();
        // ...new captcha here...
    }
}.setDefaultFormProcessing(false));

这将导致所有内容都被提交(并保留到下一次渲染),但它将跳过值转换、验证和模型更新。

您可以在“新图像”链接中提交表单,方法是将表单设置为
按钮或
[Ajax]提交链接。然后,通过在该链接上调用
setDefaultFormProcessing(false)
,您可以跳过链接的
onSubmit
方法以外的所有内容:

checkForm.add(new SubmitLink("submit") {
    @Override
    public void onSubmit() {
        super.onSubmit();
        // ...new captcha here...
    }
}.setDefaultFormProcessing(false));

这将导致所有内容都被提交(并保留到下一次渲染中),但它将跳过值转换、验证和模型更新。

Perfect,这非常有效。谢谢你的快速回答!好极了,这真是太棒了。谢谢你的快速回答!