我在主页上使用了一个 ListMultipleChoice 对象。我想单击“搜索”按钮并为 LMC 中的每个元素打开一个页面。
单击“搜索”时我能够记录每个元素,因此获取数据不是问题,问题是能够在新选项卡中打开每个元素。
这是我目前的相关代码。
HomePage.html:
<select wicket:id="dataElement"
class="form-control chosen-select" multiple
data-placeholder="Select Data Elements" required>
<option value=""></option>
</select>
HomePage.java
ChoiceRenderer<DataElement> dataElementChoiceRenderer = new ChoiceRenderer<>(
"displayValue");
ListMultipleChoice<DataElement> regSelect = new ListMultipleChoice<>("dataElement", this.dataElementModel,
dataElementChoiceRenderer);
AjaxButton searchButton = new AjaxButton("search", f) {
@Override
protected void onSubmit(AjaxRequestTarget target) {
Collection<DataElement> convertedInput = regSelect.getConvertedInput();
if (!convertedInput.isEmpty()) {
setResponsePage(ResultsPage.class, params);
}
}
};
我尝试在多个位置添加 target="_blank" 并在 for 循环中调用 setResponsePage 但没有成功。只有 LMC 中的第一个元素在新选项卡中打开。