实现DateTextField功能时遇到问题

时间:2019-08-23 07:52:29

标签: java html wicket

我需要创建某种按钮,链接或任何可以用日期填充字段的内容。

到目前为止,我尝试实现一个Link,该点击后将用所需的日期填充我的DateTextField

外观如下:

enter image description here

我添加了9个可点击的链接,这些链接将填充 DateTime From DateTime To

现在是问题所在。首先,我尝试使其工作如下:

logSearchForm.add(getNewLinkDateAndHours(logSearchForm, dateLast1Hour.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")),LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd")), dateLast1Hour.format(DateTimeFormatter.ofPattern("HH:mm")),LocalDateTime.now().format(DateTimeFormatter.ofPattern("HH:mm")),"last1Hour"));

这将添加一个链接并调用一个方法。

private Link<Void> getNewLinkDateAndHours (Form<BgwElasticSearchFields> logSearchForm, String from, String to,
                                           String fromTime, String toTime, String id) {
    return new Link<Void>(id, new PropertyModel<>(searchFields, id)){
        @Override
        public void onClick() {
            logSearchForm.get("dtFrom").setDefaultModel(Model.of(from));
            logSearchForm.get("dtTo").setDefaultModel(Model.of(to));
            logSearchForm.get("timeFrom").setDefaultModel(Model.of(fromTime));
            logSearchForm.get("timeTo").setDefaultModel(Model.of(toTime));
        }
    };
}

但是在此实现中出现了两个问题:1)重新加载并清除了所有字段2)填充了必需的日期字段,但是当我按下“搜索”按钮时,它不会解析日期,而是尝试使用空日期进行搜索。

所以我尝试使它像这样:

private Link<Void> getNewLinkDate (Form<BgwElasticSearchFields> logSearchForm, LocalDate from, LocalDate to, String id) {
    return new Link<Void>(id, new PropertyModel<>(searchFields, id)){
        @Override
        public void onClick() {
            Date dateFrom = Date.from(from.atStartOfDay(ZoneId.systemDefault()).toInstant());
            Date dateTo = Date.from(to.atStartOfDay(ZoneId.systemDefault()).toInstant());
            searchFields.setDtFrom(dateFrom);
            searchFields.setDtTo(dateTo);
        }
    };
}

此功能效果更好一点,它可以正确设置日期,搜索按钮可以很好地插入日期,但是无论何时我单击链接,它仍然重新加载了整个页面,并且没有保存任何填充字段。我尝试捕获并保存插入的信息,但没有成功。

在理想程序中,它看起来像这样:我填写 Legal Code ,设置 Bic ,然后单击昨天按钮。 Page不会重新加载或重新加载,保持我插入的法律代码和Bic值,我点击了搜索按钮,一切正常。

0 个答案:

没有答案