Sugiero y ou para usar GWT MVP. asumir que su URL como
http://www.myPageName/myproject.html?#orderId:99999
Y en su AppController.java -
Por mucho que
......
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
}
}
}
...........
Otra opción, también se puede utilizar con Spring MVC. A continuación se muestra un ejemplo ...
// 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();
}
}
}
Estoy trabajando en un problema similar, ¿cómo responde la aplicación a los parámetros como, orderID = 99999? Quiero decir, ¿cómo maneja tal parámetro? – xybrek
@xybrek Si no considera el [Mecanismo de historial] proporcionado (http://www.gwtproject.org/doc/latest/DevGuideCodingBasicsHistory.html) en GWT (que utiliza el # para evitar la recarga de la página), lo hará necesita colocar un método en su punto de entrada principal que se invoca en el método 'onLoad()' del punto de entrada principal.Cada vez que se llama a la página invocará su método dedicado en el que puede inspeccionar y procesar los parámetros dados. – Dennis