java شرح - كيفية الحصول بشكل واضح على نشر البيانات في Spring MVC؟





موقع معنى (4)


هناك إجابة أخرى للسؤال المحدد لـ OP وهي تعيين نوع محتوى consumes إلى "text/plain" ثم إعلان معلمة إدخال @RequestBody String . سيؤدي ذلك إلى تمرير نص بيانات POST كمتغير String المعلنة ( postPayload في المثال التالي).

وبالطبع ، يفترض هذا أن حمولة POST الخاصة بك هي بيانات نصية (كما هو موضح في سياسة العمليات الخاصة).

مثال:

    @RequestMapping(value = "/your/url/here", method = RequestMethod.POST, consumes = "text/plain")
    public ModelAndView someMethod(@RequestBody String postPayload) {    
        // ...    
    }

هل هناك طريقة للحصول على بيانات النشر نفسها؟ وأنا أعلم أن مقابض ربيع البيانات آخر ملزمة إلى كائنات جافا. ولكن ، بالنظر إلى حقلين أريد معالجتهما ، كيف يمكنني الحصول على هذه البيانات؟

على سبيل المثال ، افترض أن النموذج الخاص بي يحتوي على حقلين:

 <input type="text" name="value1" id="value1"/>
 <input type="text" name="value2" id="value2"/>

كيف سأذهب لاسترجاع تلك القيم في جهاز التحكم الخاص بي؟




إذا كنت تستخدم أحد مثيلات وحدة التحكم المضمنة ، فستكون إحدى المعلمات إلى أسلوب وحدة التحكم الخاصة بك هي كائن Request. يمكنك استدعاء request.getParameter("value1") للحصول على قيمة بيانات POST (أو PUT).

إذا كنت تستخدم التعليقات التوضيحية Spring MVC ، فيمكنك إضافة معلمة توضيحية إلى معلمات أسلوبك:

@RequestMapping(value = "/someUrl")
public String someMethod(@RequestParam("value1") String valueOne) {
 //do stuff with valueOne variable here
}



يتم تشغيل Spring MVC أعلى واجهة برمجة تطبيقات Servlet. لذلك ، يمكنك استخدام HttpServletRequest#getParameter() لهذا:

String value1 = request.getParameter("value1");
String value2 = request.getParameter("value2");

يجب أن يكون HttpServletRequest متوفرًا بالفعل داخل Spring MVC كأحد وسيطات الأسلوب للأسلوب handleRequest() .




JCEF

JCEF ( Java Wrapper for the Chromium Embedded Framework) هو غلاف Java حول CEF ، والذي بدوره عبارة عن غلاف حول Chrome:

كلا المشروعين يبدوان نشيطين للغاية ، كما أن عرض المستعرض أسرع بكثير من WebView الخاص بـ JavaFX (على الأقل مع JDK 8u20).

JFXPanel

من الممكن أيضًا استخدام تطبيق JavaFX WebView في تطبيق Swing عبر JFXPanel.

public class JavaFxWebBrowser extends JFXPanel {
    private WebView webView;
    private WebEngine webEngine;

    public JavaFxWebBrowser() {
        Platform.runLater(() -> {
            initialiseJavaFXScene();
        });
    }

    private void initialiseJavaFXScene() {
        webView = new WebView();
        webEngine = webView.getEngine();
        webEngine.load("http://.com");

        Scene scene = new Scene(webView);
        setScene(scene);
    }
}




java spring-mvc