2014-04-28 2 views
0

Je travaille GWT/GXT J'essaye de pratiquer quelques exemples d'exemples.Emplacement de la fenêtre getParameter est toujours NULL dans le projet GWT/GXT?

Ceci est l'URL du projet

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; 
     } 

Quelqu'un peut-il me dire quel est String id = Window.Location.getParameter("id");, Comment setParameter pour Windows.Location

Qu'est-ce que id = XDOM.getBody().getId();

Je reçois null Id.

enter image description here

Répondre

0

Ajouter ci-dessous le code dans votre EntryPoint classe

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); 
     } 
    } 
} 

Je n'ai pas & id = foo dans l'url, comment l'ajouter dans l'URL?


Comment obtenir l'URL de base de la page d'accueil?

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

Window.Location.getParameter parse chaîne de requête de l'URL en paires nom-valeur.

Alors Window.Location.getParameter("id") retournerait foo si l'URL avait id=3 dans la chaîne de requête (par exemple ?id=foo ou ?gwt.codesvr=127.0.0.1:9997&id=foo)

Je ne sais pas ce que XDOM est, mais je suppose que XDOM.getBody().getId() est pas autre forme Document.get().getBody().getId(), il renverrait la valeur d'un attribut id sur l'élément <body> (par exemple <body id=foo>)

+0

Je n'ai pas '& id = foo' dans l'URL, comment l'ajouter dans l'URL? lorsque j'exécute l'application, j'obtiens cette URL 'http: //127.0.0.1: 8888/Opera_Star.html? Gwt.codesvr = 127.0.0.1: 9997' – GameBuilder