是否可以从通用对象列表中生成webapp中的表单字段?

时间:2010-10-15 16:27:48

标签: java html jsp struts2

情况如下: 我们希望有一个搜索页面,它接收一个有序的属性对象列表,并根据它们的“类型”(文本输入,下拉列表,复选框)生成并以适当的方式显示它。我们还需要处理这些字段的值以过滤结果。我对如何实现这一点,任何想法/解决方案感到茫然? 这适用于由struts2支持的java webapp。

1 个答案:

答案 0 :(得分:0)

是的,这是可能的。我不熟悉struts,但我想它不会那么难。一些伪java代码可以帮助您入门:

private void init() {
    for(Attribute a : attributes) {
        SomeWebComponent c = createComponent(a);
        components.put(a, c);
    }
    renderComponents(components.values());
}

private SomeWebComponent createComponent(Attribute a) {
    if(a.getType().equals("text") return createTextInput();
    else if(a.getType().equals("list") return createListInput(a.getItems());
    ...
}

private void performSearch() {
    for(Attribute a : attributes) {
        SomeWebComponent c = components.get(a);;
        searchValues.put(a, c.getValue());
    }
    doSearch(searchValues);
}