كيف أدعو كود جافا من شفرة جافا سكريبت في النصيبة؟

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

  •  03-07-2019
  •  | 
  •  

سؤال

إذا كنت تستطيع أن تفعل ذلك، كيف أدعو جافا البرمجية (طرق على سبيل المثال) من داخل شفرة جافا سكريبت، في النصيبة.

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

المحلول

وإرك. ان الجواب الصحيح أن يكون ظهورهم دعوة اياكس. يمكنك إما يدويا رمز شبيبة ربط إلى شبيبة بوابة صغيرة، أو يمكنك إعداد رد من مكونات بوابة صغيرة في جافا. على سبيل المثال، من AjaxLazyLoadPanel:

        component.add( new AbstractDefaultAjaxBehavior() {

        @Override
        protected void respond(AjaxRequestTarget target) {
            // your code here
        }

        @Override
        public void renderHead(IHeaderResponse response) {
            super.renderHead( response );
            response.renderOnDomReadyJavascript( getCallbackScript().toString() );
        }

        }

وهذا المثال يوضح كيفية إضافة ندعو مرة أخرى الرمز إلى أي مكون في النصيبة. بعد وقع الحدث OnDomReady في المتصفح الخاص بك، عند تحميل الصفحة، والنصيبة السبب انها enging شبيبة، للاتصال مرة أخرى في التعليمات البرمجية، وذلك باستخدام اياكس، إلى أسلوب "الاستجابة" هو مبين أعلاه، وعند هذه النقطة يمكنك تنفيذ التعليمات البرمجية جافا على الخادم، ويحتمل أن تكون إضافة مكونات لهدف اياكس إلى إعادة تقديمها.

لتفعل ذلك يدويا، من شبيبة، يمكنك ربط في نظام بوابة صغيرة من خلال طبع getCallbackScript (). toString () لسمة على عنصر النصيبه، والتي سوف تكون بعد ذلك قادرة على الوصول إليه من شبيبة. يدعو هذا الرابط من شبيبة يدويا مع wicketAjaxGet النصيبه من بوابة صغيرة-ajax.js.

تحقق من القائمة البريدية للالكثير من الحديث حول هذا الموضوع: http://www.nabble.com/Wicket-and-javascript-ts24336438 هتمل # a24336438

نصائح أخرى

https://cwiki.apache.org/WICKET/ داعيا-النصيبه-من-javascript.html

إذا قمت بإضافة أي الطبقة التي تمتد AbstractDefaultAjaxBehavior إلى صفحتك، ستضاف-ajax.js بوابة صغيرة إلى رأس حيث تعمل الإضافة صفحة على شبكة الإنترنت. النصيبه ajax.js يوفر لك طريقتين أساسيتين للاتصال مكون الخاص بك:

function wicketAjaxGet(url, successHandler, failureHandler, precondition, channel)

و

function wicketAjaxPost(url, body, successHandler, failureHandler, precondition, channel)

وهنا مثال:

وجافا سكريبت

function callWicket() {
   var wcall = wicketAjaxGet('$url$' + '$args$', function() { }, function() { });
}

ويتم الحصول على $url$ من abstractDefaultAjaxBehavior.getCallbackUrl() الأسلوب. إذا قمت بلصق سلسلة عاد من تلك الطريقة في المتصفح الخاص بك، عليك استدعاء الأسلوب الاستجابة، وينطبق الشيء نفسه بالنسبة للطريقة جافا سكريبت.

ويمكنك إضافة اختياريا الحجج بإلحاق هذه إلى سلسلة URL. أنها تأخذ شكل &foo=bar.

ويمكنك الحصول على الوسائط الاختيارية في طريقة استجابة جافا مثل هذا:

Map map = ((WebRequestCycle) RequestCycle.get()).getRequest().getParameterMap();

وأو هذا:

String paramFoo = RequestCycle.get().getRequest().getParameter("foo");

HTTP: //www.wicket-library. كوم / النصيبه أمثلة 6.0.x / index.html و / ديه الكثير من الأمثلة لتحصل على الذهاب.

وأو لديهم إلقاء نظرة على DWR

http://directwebremoting.org/

وDWR يسمح جافا سكريبت في المتصفح للتفاعل مع جافا على الخادم ويساعدك على التعامل مع صفحات الويب مع النتائج.

وكما هو مذكور يتم Dorward هذا عن طريق AJAX

وعلى افتراض تقصد جافا سكريبت يعمل على العميل - أنت تسبب HTTP توجيه التي ينبغي إدخالها على الخادم، ويكون بريمج بك لرد على طلب لعنوان معين

.

وهذا هو المعروف باسم اياكس ، وهناك <أ href ل = "http://developer.yahoo.com/yui/connection/" يختلط = "نوفولو noreferrer"> عدد من <لأ href = "http://docs.jquery.com/Ajax" يختلط = " نوفولو noreferrer "> المكتبات أن تساعدك على القيام بذلك ..

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