窗口位置getParameter在GWT / GXT项目中始终为空?

时间:2014-04-28 12:57:33

标签: gwt gwt2 gxt

我正在使用GWT / GXT 我正在尝试一些示例示例。

这是项目的网址

http://127.0.0.1:8888/Opera_Star.html?gwt.codesvr=127.0.0.1:9997

public void onModuleLoad() {
        Map<String, Entry> project = new FastMap<Entry>();
        ProjectModel projectModel = new ProjectModel();
        for (int i = 0; i < projectModel.getChildren().size(); i++) {// 1 children
            LoginCategory loginCategory = (LoginCategory) projectModel
                    .getChildren().get(i);
            for (int j = 0; j < loginCategory.getChildren().size(); j++) {// 2 children
                Entry entry = (Entry) loginCategory.getChildren().get(j);
                project.put(entry.getId(), entry);
            }
        }   
        Registry.register(MODEL, projectModel);
        String id = Window.Location.getParameter("id");
        if (id == null) {
            id = XDOM.getBody().getId();
        }    
        Entry entry = project.get(id);    
        if (entry == null) {
            return;
        }

任何人都可以告诉我什么是String id = Window.Location.getParameter("id");,如何setParameter Windows.Location

什么是id = XDOM.getBody().getId();

我得到Id null。

enter image description here

2 个答案:

答案 0 :(得分:0)

Window.Location.getParameter将URL的查询字符串解析为名称 - 值对。

如果网址在查询字符串中有Window.Location.getParameter("id")(例如fooid=3),则?id=foo会返回?gwt.codesvr=127.0.0.1:9997&id=foo

我不知道XDOM是什么,但我猜XDOM.getBody().getId()Document.get().getBody().getId()没有什么不同,所以它会返回id属性的值<body>元素(例如<body id=foo>

答案 1 :(得分:0)

EntryPoint班级

中添加以下代码
private static Map<String, String> queryParams = new HashMap<String, String>();

static {
    Map<String, List<String>> paramsMap = Window.Location.getParameterMap();
    for (String key : paramsMap.keySet()) {
        List<String> values = paramsMap.get(key);
        if (values.size() > 0) {
            String value = values.get(0);
            queryParams.put(key.toLowerCase(), value);
            queryParams.put(key, value);
        }
    }
}

  

我在网址中没有&amp; id = foo,如何将其添加到网址中?


如何获取主机页面基本网址?

GWT.getHostPageBaseURL(); //http://127.0.0.1:8888/