Looking for wicket Answers? Try Ask4KnowledgeBase
Looking for wicket Keywords? Try Ask4Keywords

wicketशुरुआत विकेट से हुई


टिप्पणियों

विकेट एक घटक-आधारित ढांचा है, जो इसे वेब प्रोग्रामिंग के कभी-कभी नीरस कार्य के पहले के कुछ समाधानों के विपरीत खड़ा करता है। अन्य रूपरेखाओं की तरह, सन के सर्वलेट एपीआई के ऊपर विकेट का निर्माण होता है।

हालांकि, स्ट्रट्स या स्प्रिंग एमवीसी जैसे फ्रेमवर्क के विपरीत, विकेट का उपयोग करने वाले डेवलपर को ज्यादातर अनुरोध / प्रतिक्रिया प्रकृति से हटा दिया जाता है जो वेब और सर्वलेट्स के साथ निहित है। नियंत्रकों के निर्माण के बजाय, जो कई उपयोगकर्ताओं और थ्रेड्स को एक साथ सेवा करना चाहिए, अनुरोधों को लेना, प्रतिक्रियाएं देना, और कभी भी किसी भी राज्य को संग्रहीत नहीं करना, विकेट डेवलपर स्टेटफुल घटकों के संदर्भ में सोचते हैं। एक नियंत्रक या एक्शन क्लास बनाने के बजाय, वह एक पेज बनाता है, उस पर घटकों को रखता है, और परिभाषित करता है कि प्रत्येक घटक उपयोगकर्ता इनपुट पर कैसे प्रतिक्रिया करता है।

विकेट टेम्प्लेटिंग के लिए सादे XHTML का उपयोग करता है। प्रत्येक घटक एक्सएचटीएमएल में एक नामित तत्व से बंधा होता है और अंतिम आउटपुट में उस तत्व को प्रदान करने के लिए जिम्मेदार हो जाता है। पृष्ठ केवल शीर्ष-स्तरीय घटक है और इसे ठीक एक XHTML टेम्पलेट के साथ जोड़ा गया है।

प्रत्येक घटक अपने स्वयं के मॉडल द्वारा समर्थित है, जो घटक की स्थिति का प्रतिनिधित्व करता है। फ्रेमवर्क में इस बात का ज्ञान नहीं होता है कि घटक अपने मॉडलों के साथ किस तरह से मेल खाते हैं, जो अपारदर्शी वस्तुओं के रूप में व्यवहारिक रूप से क्रमबद्ध और अनुरोधों के बीच बने रहते हैं। हालांकि, अधिक जटिल मॉडल को अलग-थलग किया जा सकता है और प्रत्येक अनुरोध चक्र के आरंभ और अंत में अपने स्वयं के भंडारण और बहाली की व्यवस्था करने के लिए हुक प्रदान करते हैं।

विकेट में, सभी सर्वर साइड स्थिति स्वचालित रूप से प्रबंधित की जाती है। राज्य को संग्रहीत करने के लिए आपको कभी भी HttpSession ऑब्जेक्ट या समान आवरण का उपयोग नहीं करना चाहिए। इसके बजाय, राज्य घटकों के साथ जुड़ा हुआ है। प्रत्येक सर्वर-साइड पेज घटक स्टेटफुल घटकों की एक नेस्टेड पदानुक्रम रखता है, जहां प्रत्येक घटक का मॉडल अंत में एक POJO (प्लेन ओल्ड जावा ऑब्जेक्ट) है।

संस्करण

संस्करण रिलीज़ की तारीख
8.0.0-एम 4 2017/02/07
7.6.0 2016/12/29
6.26.0 2016/12/29

स्थापना या सेटअप

मेरा पहला विकेट सेटअप, होम स्क्रीन पर हैलो वर्ल्ड दिखा रहा ऐप:

import org.apache.wicket.protocol.http.WebApplication;
public class HelloWorldApplication extends WebApplication {
    
    public HelloWorldApplication() {
    }
    
    @Override
    public Class getHomePage() {
        return HelloWorld.class;
    }
}
 

HelloWorld.java

import org.apache.wicket.markup.html.WebPage;
import org.apache.wicket.markup.html.basic.Label;
public class HelloWorld extends WebPage {
    public HelloWorld() {
        add(new Label("message", "Hello World!"));
    }
}
 

HelloWorld.html

<html>
   <body>
       <span wicket:id="message">Message goes here</span>
    </body>
</html>
 

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app
  PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
  "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
    <display-name>My first Wicket App</display-name>
    <filter>
        <filter-name>HelloWorldApplication</filter-name>
        <filter-class>org.apache.wicket.protocol.http.WicketFilter</filter-class>
        <init-param>
          <param-name>applicationClassName</param-name>
          <param-value>org.apache.wicket.examples.helloworld.HelloWorldApplication</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>HelloWorldApplication</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
</web-app>
 

pom.xml

    <dependency>
        <groupId>org.apache.wicket</groupId>
        <artifactId>wicket-core</artifactId>
        <version>${wicket.version}</version>
    </dependency>