私のアプリケーションの多くは、GWT-RPCを使用してservetとクライアントの間で通信します。しかし、いくつかのクラスは、GWTのではなく素晴らしいGWT-RPCオブジェクトを便乗する方法があり、私が思っていた実際のRPCサーブレットを使用せずにGWTのRPCメカニズムを使用して文字列/オブジェクトを整列/整列解除する方法
public static String getTemplateImage(String templateInstanceId, PageImage pageImage) {
return GWT.getHostPageBaseURL() + TEMPLATE_INSTANCE_IMAGE_SERVLET_PATH
+ "?templateInstanceId=" + templateInstanceId
+ "&fileName=" + pageImage.getImageId()
+ "&isBackground=false"
+ "&cropX=" + pageImage.getCropX()
+ "&cropY=" + pageImage.getCropY()
+ "&cropWidth=" + pageImage.getCropWidth()
+ "&cropHeight=" + pageImage.getCropHeight();
}
...このような様々なのparamsでURLを「壊し文字列」で手動でGETリクエストを構築する必要がありますマーシャルはこれをするには?
public static String getTemplateImage(String templateInstanceId, PageImage pageImage) {
return GWT.getHostPageBaseURL() + TEMPLATE_INSTANCE_IMAGE_SERVLET_PATH
+ "?templateInstanceId=" + templateInstanceId
+ "&pageImage=" + SomeGWTClass.toRpcString(pageImage)
;
}
そして、サーブレット側で
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
final String templateInstanceId = req.getParameter("templateInstanceId");
final String strPageImage= req.getParameter("pageImage");
**final PageImage pageImage = SomeGWTClass.unmarshallString(PageImage.class,strPageImage);**
}