Google Web Toolkit (GWT) 애플리케이션이 있는데 링크를 걸면 동적으로 데이터를 검색하는 데 사용할 수있는 인수/매개 변수를 전달하려고합니다. 예 : 그것은 주식 차트 응용 프로그램이 있다면, 내 링크 기호를 포함하고 다음 GWT 애플 리케이션을 읽고 일부 주식 서비스에 요청을하고 싶습니다. 예 : http://myapp/gwt/StockChart?symbol=GOOG은 내 StockChart GWT 앱에 대한 링크 일 것이며 GOOG 주식에 대한 내 주식 정보 웹 서비스에 대한 요청을 만들 것입니다.GWT 앱을 매개 변수화하는 가장 좋은 방법은 무엇입니까?
지금까지 서버 측 코드를 사용하여 페이지에 자바 스크립트 변수를 추가 한 다음 JSNI (JavaScript Native Interface)를 사용하여 해당 변수를 읽었습니다.
호스트 HTML에서 : 다음 GWT 코드에서
<script type="text/javascript">
var stockSymbol = '<%= request.getParameter("symbol") %>';
</script>
: 예를 들어
public static native String getSymbol() /*-{
return $wnd.stockSymbol;
}-*/;
(이 코드가 작동 실제 코드를 기반으로하고 있지만, 나는했습니다 이 질문에 맞게 수정하여 어딘가에있을 수도 있음)
그러나 항상 그렇지는 않습니다. 호스팅 된 모드 (특히 배열)에서 잘 작동하고 JSNI가 버전 1.4와 그 이전 버전에 없었기 때문에 다른/더 좋은 방법이 있다고 생각합니다. 당신이 요청에서 쿼리 문자열 매개 변수를 읽으려면
GET 요청에서 작동합니다. POST 매개 변수는 어떻습니까? 예를 들어, 200 개의 주식 기호를 한꺼번에 요청하려면 URL에 모두 넣지 않으려 고합니다. –
일부 매개 변수에 따라 작동하는 위젯을 만들 것을 제안합니다. POST/GET으로 페이지를 만들고, XML (RPC)로 보내면 빌드하고 모든 위젯을 만들기 위해 클라이언트에서 구문 분석하고 싶지는 않습니다. 그런 다음 위젯이 개별적으로 서버를 호출하여 데이터를 표시합니다. – Drejc
추신 : 당신은 일을하는 GWT (RPC) 비동기 (AJAX) 방식에 익숙해 져야합니다. GET 및 POST는 전체 페이지를 다시로드 할 때 일부 전역 동작 (예 : 언어 선택)에 영향을주기 위해서만 사용해야합니다. – Drejc