أفضل الممارسات من أجل parameterizing GWT التطبيق ؟

StackOverflow https://stackoverflow.com/questions/122098

  •  02-07-2019
  •  | 
  •  

سؤال

لدي Google Web Toolkit (GWT) تطبيق و عندما الارتباط به ، أريد لتمرير بعض الحجج/المعلمات التي يمكن أن تستخدم بشكل حيوي استرداد البيانات.E. g.إذا كان الرسم البياني للسهم التطبيق, كنت أريد الارتباط تحتوي على الرمز ومن ثم يكون GWT التطبيق قراءة ذلك تقديم طلب إلى بعض الأسهم الخدمة.E. g. http://myapp/gwt/StockChart?symbol=GOOG سيكون رابط بلدي StockChart GWT التطبيق وسيكون تقديم طلب إلى معلومات الأسهم على شبكة الإنترنت خدمة GOOG الأسهم.

حتى الآن, لقد تم استخدام تعليمات برمجية من جانب الخادم إلى إضافة جافا سكريبت المتغيرات الصفحة ثم قرأت هذه المتغيرات باستخدام JSNI (JavaScript واجهة الأم).

على سبيل المثال:

في استضافة HTML:

<script type="text/javascript">
  var stockSymbol = '<%= request.getParameter("symbol") %>';
</script>   

في GWT كود:

public static native String getSymbol() /*-{
    return $wnd.stockSymbol;
}-*/;

(على الرغم من أن هذا الرمز هو رمز يعمل لقد عدلت عن هذا السؤال لذا قد أخطأ في مكان ما)

إلا أن هذا لا يعمل دائما بشكل جيد في استضافتها وضع (خصوصا مع المصفوفات) و منذ JSNI يكن موجودا في الإصدار 1.4 السابقة ، أنا أعتقد أن هناك آخر/أفضل طريقة.

هل كانت مفيدة؟

المحلول

إذا كنت ترغب في قراءة سلسلة استعلام المعلمات من الطلب يمكنك استخدام com.google.gwt.المستخدم.العميل.نافذة الدرجة:

// returns whole query string 
public static String getQueryString() 
{
    return Window.Location.getQueryString();
}

// returns specific parameter
public static String getQueryString(String name)
{   
    return Window.Location.getParameter(name);
}   

نصائح أخرى

بل هو أيضا خيار لطيفة 'parameterize' a GWT التطبيق باستخدام قيم التجزئة.

لذا بدلا من

 http://myapp/gwt/StockChart?symbol=GOOG

استخدام

 http://myapp/gwt/StockChart#symbol=GOOG

هناك بعض الأدوات دعم مثل هذه 'معايير' من خلال GWT تاريخ آلية.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top