2012-01-13 10 views
5

में मैंने देखा कि वहाँ विकेट के वेबपेज में एक responsePage स्थापित करने के लिए दो तरीके हैं कि:SetResponsePage विकेट

setResponsePage(new MyPage()); 

या

setResponsePage(MyPage.class); 

क्या इन दोनों के बीच मतभेद हैं?

उत्तर

9

पहला वाला एक बुकमार्क करने योग्य यूआरएल पर रीडायरेक्ट करेगा।

कृपया Wicket FAQ भी देखें।

+0

किसी भी तरह से, विकेट मुझे एक बुकमार्क योग्य URL पर रीडायरेक्ट । क्या पृष्ठ को गैर-बुकमार्क करने योग्य URL पर रीडायरेक्ट करने के लिए एक विशेष निर्माता की आवश्यकता है? – rotsch

2

विकेट के डॉक यह सबसे अच्छा sais:

"setResponsePage (नई MyWebPage()) (या setResponsePage (नई MyWebPage (myPageParameters))) यदि आप ब्राउज़र में एक बुकमार्क योग्य URL करना चाहते इस्तेमाल किया जा सकता है (आपके पेज डिफ़ॉल्ट कन्स्ट्रक्टर या पेज पैरामीटर कन्स्ट्रक्टर होना चाहिए) setResponsePage (MyWebPage.class) का उपयोग किया जा सकता है यदि आप सर्वरसाइड पर पृष्ठों को जानकारी पास करना चाहते हैं। यह एक सत्र विशिष्ट यूआरएल उत्पन्न करता है (अधिकांश समय आप हाइब्रिड यूआरएल कोडिंग रणनीति का उपयोग कर सकते हैं) । "

here

1

अंतर यह है कि आप .setResponsePage करने के लिए (नया WebPage (P1, P2, पी 3)) पैरामीटर भेज सकते हैं और .setResponsePage(WebPage.class) में आप नहीं कर सकते है।

आप एक पृष्ठ माउंट हैं, तो .setResponsePage([WebPage.class])2 यूआरएल आप WicketApplication में परिभाषित किया गया है, जब आप की तरह कुछ कर रही पेज घुड़सवार पर भेज देते देगा:

public void init() { 

this.mountPage("/myPage", **WebPage.class**) 


} 
+1

मुझे लगता है कि आप गलत हैं: घटक के सेट रेस्पॉन्सपेज में इंटरफेस, setResponsePage (java.lang.Class सीएलएस) के साथ-साथ setResponsePage (java.lang.Class सीएलएस, पेज पैरामीटर पैरामीटर) दोनों हैं। पृष्ठ पैरामीटर जोड़ने के लिए नए वेबपृष्ठ को कॉल करने की आवश्यकता नहीं है। –

संबंधित मुद्दे