gpt4 book ai didi

java - 在 Wicket 渲染后向网页添加其他组件

转载 作者:行者123 更新时间:2023-12-01 18:59:07 25 4
gpt4 key购买 nike

我需要使用 Wicket 1.5 创建一个网页,它可以显示可变数量的面板来捕获用户输入。所有面板都具有相同的结构。该页面将从一个面板开始,并包含一个可根据需要动态添加更多面板的按钮。

因此,在页面最初呈现时,面板的数量是未知的。实际上,我会动态地改变页面的结构。这在 Javascript 中是可能的,使用 document.addElement()

我过去做过类似的事情,在页面加载时创建所有组件,并有选择地显示/隐藏组件。

这里的区别在于组件(面板)的数量最初是未知的。我不确定 Wicket 如何实现这一点。

最佳答案

这实际上是一个常见的用例,通常使用 RepeatingView 完成(ListView 会重新绘制所有面板,这可能不是您想要的)。

http://www.stackoverflow.com/questions/7807514/can-i-add-an-element-to-a-repeatingview-without-refreshing-the-latter

final RepeatingView rv = new RepeatingView("rv");
rv.add(new MyPanel(rv.newChildId()));
...
AjaxLink addPanelLink = new AjaxLink("addPanelLink") {
public void onSubmit(AjaxRequestTarget target) {
MyOtherPanel pnl = new MyOtherPanel(rv.newChildId())
rv.add(pnl);
target.prependJavaScript(String.format(
"var item=document.createElement('%s');item.id='%s';var container = $('%s'); container.append(item,container.firstChild);",
"div",
pnl.getMarkupId(),
".dom_parent_div_id"));
target.add(pnl);
}
};

关于java - 在 Wicket 渲染后向网页添加其他组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12922452/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com