struts多维地图支持的动作形式

时间:2013-04-24 16:23:44

标签: java html struts

我正在尝试在struts 1动作表单中使用二维地图。我在这里查看了地图支持的行动表格的struts文档http://struts.apache.org/release/1.2.x/userGuide/building_controller.html。然而,这是针对一维地图的。我已经开始工作,但我不喜欢我的解决方案。本质上,我必须将一个组合键传递给我的setter和getter,并将组合键拆分为正确的键。是否有另一种方法可以做到这一点。

public FooForm extends ActionForm {

    private final Map<String, Map<String,String>> values = new HashMap<String, Map<String,String>>();

    public void setValue(String key, Object value) {
        String[] keys = key.split("_");
        if (keys.length == 2) {
            Map<String, String> innerValues = costValues.get(keys[0]);
            if (innerValues == null) {
                innerValues = new HashMap<String, String>();
            }
            innerValues.put(keys[1], value);
            values.put(keys[0], innerValues);
        }
    }

    public String getValue(String key) {
        String[] keys = key.split("_");
        if (keys.length == 2) {
            Map<String, String> innerValues = values.get(keys[0]);
            if (innerValues != null) {
                return innerValues.get(keys[1]);
            }
        }
        return null;
    }
}

<html:text property="value(foo_bar)"/>

0 个答案:

没有答案