मैं सुझाव देता हूं कि y कहां GWT MVP का उपयोग करें। मान लें कि आपके यूआरएल के रूप में
http://www.myPageName/myproject.html?#orderId:99999
और अपने AppController.java में -
कोशिश के रूप में
......
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();
}
}
}
मैं इसी तरह की समस्या पर काम कर रहा हूं, आप ऑर्डर आईडी = 99 999 जैसे पैरामीटर पर ऐप को कैसे प्रतिस्थापित करते हैं? मेरा मतलब है कि यह इस तरह के पैरामीटर को कैसे संभालता है? – xybrek
@xybrek यदि आप GWT में प्रदान किए गए [इतिहास तंत्र] (http://www.gwtproject.org/doc/latest/DevGuideCodingBasicsHistory.html) पर विचार नहीं करते हैं (जो पेज रीलोडिंग से बचने के लिए # का उपयोग करता है), तो आप मुख्य प्रविष्टि बिंदु 'ऑनलोड()' विधि में आपके मुख्य प्रविष्टि बिंदु में एक विधि डालने की आवश्यकता है।हर बार जब पेज कहा जाता है तो यह आपकी समर्पित विधि का आह्वान करेगा जिसमें आप दिए गए पैरामीटर का निरीक्षण और प्रक्रिया कर सकते हैं। – Dennis