我在检票口中有一个简单的表单,有一个带有模板名称和几个复选框的字段,其中覆盖了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());
它会自动在我的输入字段中添加单词。例如,它是“嘿”,那么在单击后将是“嘿;嘿”,依此类推。 也许有人可以帮忙?
答案 0 :(得分:1)
我假设您输入的名称是“ templateName”?在这种情况下,当wantOnSelectionChangedNotifications
触发请求时,该参数将发送两次。
请输入与页面参数不同的名称。
答案 1 :(得分:0)
似乎再次调用了offerTemplateFormModel.setTemplateName(...)
。
这很奇怪,因为onInitialize()
在页面/组件的整个生命周期中仅被调用一次。如果您使用的是onConfigure()
,那么观察将是正常现象。
如果页面是无状态的,则为每个请求创建一个新实例,然后很可能在请求参数中的值会累积旧值。