GWT : GET 요청에서 URL 매개 변수 캡처
특정 URL 매개 변수를 사용하여 외부 애플리케이션에서 호출 할 GWT 애플리케이션을 빌드해야합니다.
예를 들면 :
http://www.somehost.com/com.app.client.Order.html?orderId=99999 .
GWT 애플리케이션 내에서 orderId 매개 변수를 어떻게 캡처합니까?
시험,
String value = com.google.gwt.user.client.Window.Location.getParameter("orderId");
// parse the value to int
PS GWT는 네이티브 자바 스크립트를 호출 할 수 있습니다. 즉, 자바 스크립트가 작업을 할 수 있다면 GWT도 할 수 있습니다. 예를 들어 GWT에서 다음과 같이 작성할 수 있습니다.
public static native void alert(String msg)
/*-{
$wnd.alert("Hey I am javascript");
}-*/;
이 경우 기존 javascript lib를 사용하여 쿼리 문자열에서 매개 변수 값을 추출 할 수도 있습니다.
GWT에는 URL에서 매개 변수를 가져 오는 기능이 있습니다.
String value = Window.Location.getParameter("param");
URL이 다음 형식인지 확인하십시오.
http://app.com/#place¶m=value 대신 http://app.com/?param=value#place
지도에서 모든 매개 변수를 가져 오려면 다음을 사용하세요.
Map<String, List<String>> map = Window.Location.getParameterMap();
GWT MVP 를 사용하는 것이 좋습니다 . 귀하의 URL을
그리고 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();
}
}
}
당신은을 사용 Activities
하고 Places
그렇게 할 수 있습니다. 페이지에 대한 장소를 만들 때 orderId를 구성원으로 설정할 수 있습니다. 이 멤버는 Activity
( ActivityMapper에서 ) 장소와 관련된 것을 만들 때 뒷말로 사용할 수 있습니다 .
유일한 제한은 orderId를 일반 매개 변수로 보낼 수 없다는 것입니다. 다음 형식의 URL을 사용해야합니다.
127.0.0.1:60206/XUI.html?#TestPlace:orderId=1
참조 URL : https://stackoverflow.com/questions/590580/gwt-capturing-url-parameters-in-get-request
'programing' 카테고리의 다른 글
입력하는 동안 UITextField 크기 조정 (자동 레이아웃 사용) (0) | 2021.01.15 |
---|---|
ggplot2에서 글꼴 변경 (0) | 2021.01.14 |
폴더의 일부 파일 이름 바꾸기 (0) | 2021.01.14 |
단위 테스트를위한 테스트 데이터 파일 경로 (0) | 2021.01.14 |
비디오에서 물체와의 거리를 어떻게 확인할 수 있습니까? (0) | 2021.01.14 |