我试图使用wicket构建一个简单的应用程序,到目前为止印象深刻.我一直在利用Component类来根据用户输入或模型确定页面上元素的行为.我看到组件模型与JSF的相似之处,但发现wicket生命周期更容易管理.
我无法理解的是必须为每个检票口添加每个组件:在页面上提到的id,特别是对于没有任何子项的人.当树已经在标记中稍微定义时,必须在java代码中构建树似乎很重要.我错过了什么?
编辑
我应该举一个例子.我有一个输入框的标签,在某些情况下我希望能够修改.95%的时间我对标记中的标签的文本和属性都没有问题.
我在页面上添加了一个下拉组件.此下拉列表的目的是更改呈现的输入表单的类型.例如,不同的表单具有不同的必填字段,可编辑字段等.
public final class Test extends WebPage
{
CustomPanel currentPanel = new MeRequest("repeater",FormType.MIN);
public Test(PageParameters parameters)
{
add(currentPanel);
DropDownChoice ddc = new DropDownChoice("panel", new PropertyModel(this, "selected"), panels, choiceRenderer);
ddc.add(new AjaxFormComponentUpdatingBehavior("onchange") {
protected void onUpdate(AjaxRequestTarget target) {
System.out.println("changed");
currentPanel = new MeRequest("repeater",FormType.PRO);
target.add(currentPanel);
}
});
add(ddc);
}
Run Code Online (Sandbox Code Playgroud)
我尝试了各种选项,结果有限.唯一真正的成功是更新模型,但我真正想做的是改变组件的行为方式.
对我错过的任何想法?
wicket ×2