gpt4 book ai didi

components - 在 WICKET 中显示错误时不添加所有组件

转载 作者:行者123 更新时间:2023-12-04 06:37:03 25 4
gpt4 key购买 nike

我有一个接受单个参数的页面。如果未传递此参数,则我想显示一条错误消息(“请传递参数 'blah”),该消息将显示在 FeedBackPanel 中并退出。但是,如果我不附加所有组件,则 wicket 会出现错误,将客户端重定向到 Wicket 的错误页面。

有没有办法显示错误消息而不是将所有项目添加到页面?其中一些项目是 ListViews 等...

最佳答案

如果 a 容器不可见,则不会验证其结构一致性(匹配 child 的 ID)。因此,只需将您的内容包装在某个容器中,如果未传递参数,则调用 container.setVisible(false)。然后你可以立即返回,而不添加它的 child ,Wicket 不会提示:

主页.java

public class HomePage extends WebPage {
public HomePage(PageParameters pageParameters) {
super(pageParameters);
add(new FeedbackPanel("feedback"));
WebMarkupContainer container = new WebMarkupContainer("container");
add(container);
if (getPageParameters().getString("id") == null) {
error("Where's my 'id' argument?!?");
container.setVisible(false);
//you can return here, Wicket won't complain about not finding the form.
return;
}
Form form = new Form("form");
form.add(new TextField("field1", new Model()));
form.add(new TextField("field2", new Model()));
container.add(form);
}
}

主页.html
<html xmlns:wicket="http://wicket.apache.org">
<body>
<ul wicket:id="feedback"></ul>
<div wicket:id="container">
<form wicket:id="form">
<input wicket:id="field1">
<input wicket:id="field2">
</form>
</div>
</body>
</html>

关于components - 在 WICKET 中显示错误时不添加所有组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4750426/

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