小票wantOnSelectionChangedNotifications更改输入文本字段

时间:2019-01-14 13:16:19

标签: java html wicket

我在检票口中有一个简单的表单,有一个带有模板名称和几个复选框的字段,其中覆盖了onSelectionChange方法。当我从页面参数中在文本框中输入一些文本

<section class="section works" id="works">
    <div class="container">
        <div class="row">
            <div class="works-item col-md-12 col-xs-12">
                    <div class="row">
                        <div class="works-image col-md-6">
                            <img src="1.jpg" alt="">
                            <div class="overlay"></div>
                        </div>
                        <div class="item-info col-md-6">
                            <h4 class="item-name">Some Title here</h4>
                            <p class="item-type">Description should be here</p>
                        </div>
                    </div>
            </div>
        </div>
</section>

并且我标记了复选框

@Override
            protected void onInitialize() {
                super.onInitialize();
                if (PageParameters.get("templateName").toString() != null) {
                    OfferTemplate offerTemplate = huskyService.getTemplate(PageParameters.get("templateName").toString());

                    offerTemplateFormModel.setTemplateName(offerTemplate.getTemplateName());

它会自动在我的输入字段中添加单词。例如,它是“嘿”,那么在单击后将是“嘿;嘿”,依此类推。 也许有人可以帮忙?

2 个答案:

答案 0 :(得分:1)

我假设您输入的名称是“ templateName”?在这种情况下,当wantOnSelectionChangedNotifications触发请求时,该参数将发送两次。

请输入与页面参数不同的名称。

答案 1 :(得分:0)

似乎再次调用了offerTemplateFormModel.setTemplateName(...)

这很奇怪,因为onInitialize()在页面/组件的整个生命周期中仅被调用一次。如果您使用的是onConfigure(),那么观察将是正常现象。

如果页面是无状态的,则为每个请求创建一个新实例,然后很可能在请求参数中的值会累积旧值。