java requete http - GWT: capture des paramètres d'URL dans la requête GET




2 Answers

Essayer,

String value = com.google.gwt.user.client.Window.Location.getParameter("orderId");
// parse the value to int

PS GWT peut invoquer le javascript natif, ce qui signifie que si javascript peut faire les choses, GWT peut le faire aussi; par exemple dans GWT, vous pouvez écrire

public static native void alert(String msg)
/*-{
 $wnd.alert("Hey I am javascript");
}-*/;

Dans ce cas, vous pouvez même utiliser javascript lib pour extraire la valeur de param dans la chaîne de requête.

request post

J'ai besoin de construire une application GWT qui sera appelée par une application externe avec des paramètres d'URL spécifiques.

Par exemple:

http://www.somehost.com/com.app.client.Order.html?orderId=99999 .

Comment puis-je capturer le paramètre orderId dans l'application GWT?




Je vous suggère d'utiliser GWT MVP . Supposons que votre URL comme

http: //www.myPageName/myproject.html? #orderId: 99999

Et dans votre AppController.java -

Essayez comme

    ......
    public final void onValueChange(final ValueChangeEvent<String> event) {
    String token = event.getValue();

    if (token != null) {
        String[] tokens = History.getToken().split(":");
        final String token1 = tokens[0];
        final String token2 = tokens.length > 1 ? tokens[1] : "";

        if (token1.equals("orderId") && tonken2.length > 0) {
            Long orderId = Long.parseLong(token2);
            // another your operation
        }
    }
}
...........

Une autre option, vous pouvez également utiliser avec Spring MVC . Voici un exemple ...

// Below is in your view.java or presenter.java

Window.open(GWT.getHostPageBaseURL() + "customer/order/balance.html?&orderId=99999",
            "_self", "enable");

// Below code in in your serverside controller.java

@Controller
@RequestMapping("/customer")
public class ServletController {
@RequestMapping(value = "/order/balance.html", method = RequestMethod.GET)
public void downloadAuctionWonExcel(@RequestParam(value = "orderId", required = true) final String orderId,
    final HttpServletResponse res) throws Exception {
    try {
        System.out.println("Order Id is "+orderId);
        // more of your service codes
        }
        catch (Exception ex) {
        ex.printStackTrace();
        }
  }
}



Related


Tags

java   gwt