Я предлагаю y ou использовать GWT MVP. Предположим, что ваш URL, как
http://www.myPageName/myproject.html?#orderId:99999
И в вашем AppController.java -
Try, как
......
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
}
}
}
...........
Другой вариант, вы можете также использовать с Spring MVC. Вот пример ...
// 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();
}
}
}
Я работаю над аналогичной проблемой, как вы, gwt app, откликаетесь на параметр like, orderID = 99999? Я имею в виду, как он обрабатывает такой параметр? – xybrek
@xybrek Если вы не рассматриваете предоставленный [Механизм истории] (http://www.gwtproject.org/doc/latest/DevGuideCodingBasicsHistory.html) в GWT (который использует #, чтобы избежать перезагрузки страницы), вы будете необходимо поместить метод в вашу основную точку входа, которая вызывается в методе 'onLoad()' главной записи точки.Каждый раз, когда вызывается страница, вы вызываете свой выделенный метод, в котором вы можете проверять и обрабатывать данные параметры. – Dennis