Java 在不更改页面参数的情况下设置默认表单值

Java 在不更改页面参数的情况下设置默认表单值,java,forms,wicket,Java,Forms,Wicket,加载日志审阅页面时,如何设置表单的默认值?基本上,在加载页面之前,我需要设置Bic和dtTo,dtFrom的默认值。我尝试了setDefaultModel,但我不太理解它。有什么帮助吗?谢谢 @Override protected Form<ElasticSearchFields> getSearchForm() { Form<ElasticSearchFields> logSearchForm = new Form<ElasticSearchFields&

加载日志审阅页面时,如何设置
表单
的默认值?基本上,在加载页面之前,我需要设置
Bic
dtTo
dtFrom
的默认值。我尝试了
setDefaultModel
,但我不太理解它。有什么帮助吗?谢谢

@Override
protected Form<ElasticSearchFields> getSearchForm() {
    Form<ElasticSearchFields> logSearchForm = new Form<ElasticSearchFields>("searchFields",
            new CompoundPropertyModel<>(searchFields)) {

    logSearchForm.add(new DateTextField("dtTo", new PropertyModel<>(searchFields, "dtTo"), "yyyy-MM-dd").setRequired(true));
    logSearchForm.add(new DateTextField("dtFrom", new PropertyModel<>(searchFields, "dtFrom"), "yyyy-MM-dd").setRequired(true));

    List<String> bics = Arrays.stream(Bic.values())
            .map(Bic::name)
            .collect(Collectors.toList());

    logSearchForm.add(new DropDownChoice<>(
            "bic",
            new PropertyModel<>(searchFields, "bic"),
            bics).setNullValid(true).setRequired(false));

    return logSearchForm;
}
@覆盖
受保护的表单getSearchForm(){
表单logSearchForm=新表单(“搜索字段”,
新的CompoundPropertyModel(搜索字段)){
添加(new DateTextField(“dtTo”),new PropertyModel(“searchFields”,“dtTo”),“yyyy-MM-dd”)。setRequired(true));
添加(new DateTextField(“dtFrom”),new PropertyModel(“searchFields”,“dtFrom”),“yyyy-MM-dd”)。setRequired(true));
List bics=Arrays.stream(Bic.values())
.map(Bic::名称)
.collect(Collectors.toList());
logSearchForm.add(新的下拉选项(
“bic”,
新的PropertyModel(搜索字段,“bic”),
setNullValid(true).setRequired(false));
返回日志搜索表;
}

您需要初始化
搜索字段中的默认值。成功提交后,Wicket将用浏览器发送的值覆盖这些值。

我使用的是
setDefaultModel
,但它不起作用。它与
setDefaultModelObject
配合使用效果很好,但它们会在我加载页面时立即出现吗?因为我试图实现的是用所需信息预先填充表单。例如,表单
Bic
由不同的国家/地区Bic组成。当从国家/地区X加载页面时,用户将用X国家/地区Bic预先填充Bic字段。与日期相同,用户将其设置为当前日期,而不是现在的空加载页面后返回y。是的!请尝试并亲自查看!:-)