2012-04-16 21 views
9

मैं चारों ओर देख रहा हूं और मुझे अपने स्वयं के सीएसएस को एक विकेट वेबसाइट प्रोजेक्ट में जोड़ने के लिए डमी की मार्गदर्शिका नहीं मिल रही है। लेकिन शुरू करने से पहले ... मैं उचित जावा विकास के लिए बिल्कुल नया हूं, इसलिए जब मैं कहता हूं "डमी गाइड" मैं वास्तव में इसका मतलब है! यहां मेरे लिए सरल और स्पष्ट स्पष्टीकरण बहुत सराहना की जाती है!विकेट और सीएसएस संसाधन

मैंने इस गाइड के साथ यहां शुरुआत की (http://wicket.apache.org/start/quickstart.html) और यह ठीक चल रहा है। इसके बाद, मैं अपना खुद का सीएसएस जोड़ना चाहता हूं और इसके बारे में गड़बड़ करना शुरू कर दूंगा। और मैं कहीं भी तेजी से नहीं मिल रहा हूँ। मुख्य रूप से क्योंकि मुझे जावा में ऐसा करने का संकेत नहीं मिला है (मैं सी #/एएसपीनेट पृष्ठभूमि से आया हूं)।

वैसे भी, उन है कि पता अपाचे विकेट पहले से ही इस पता चल जाएगा, लेकिन इस प्रकार की तरह project/src/main/java/com/xyz

मैं मैं कर सकता प्रकल्पित क्या यहाँ एक सीएसएस फ़ोल्डर जोड़ने था जल्दी शुरू के लिए स्रोत एक ही स्थान पर अपने कोड बनाता है .. । इसलिए मैं एक नमूना सीएसएस बनाया है और मैं इसे यहाँ इस तरह अटक:

project/src/main/java/com/xyz/css/conor.css 

(containing something real simple like the following) 

h2 { 
    font-family: tahoma; 
} 

तब मैं अपने homepage.html में विकेट डिफ़ॉल्ट सीएसएस हटा दिया और मेरा संदर्भित करने के लिए इसे बदल इस प्रकार है:

<link rel="stylesheet" href="css/conor.css" type="text/css" /> 

लेकिन मेरा पृष्ठ conor.css का कोई ध्यान नहीं लेता है ... जाहिर है, मैं कुछ गलत कर रहा हूं, लेकिन जावा डमी (उर्फ मुझे!) के लिए एक चरण-दर-चरण मार्गदर्शिका नहीं मिल रही है।

मैंने ऐसी चीजें पढ़ी हैं जैसे आपको ग्रहण के लिए वेब टूल्स इंस्टॉल करने की आवश्यकता है। मुझे नहीं पता था कि यह मेरे लिए क्या उपयोग है या यह मेरे पृष्ठों को सीएसएस का उपयोग करने के लिए क्यों निर्देश देगा।

किसी भी मदद की बहुत सराहना की है!

उत्तर

17

जबकि विकेट मार्कअप को पार करता है और उचित लिंक के साथ आने की कोशिश करता है, तो आपको विकेट को अपने मार्कअप को समझने में मदद करनी होगी।

अपने मामले में आप जावा क्लास पथ में स्थित संसाधन से लिंक करने का प्रयास करते हैं। यह वेब संदर्भ रूट से अलग है (src/main/webapp में स्थित)। कक्षा पथ संसाधनों और वेब संदर्भ संसाधनों के बीच अंतर यह है कि विकेट वर्ग पथ संसाधन तक पहुंच के लिए ज़िम्मेदार है और यह नियंत्रित करता है कि आपका कंटेनर (यानी जेट्टी, टोमकैट, ग्लासफ़िश, आदि) वेब संदर्भ संसाधनों तक पहुंच के लिए ज़िम्मेदार है और नियंत्रित करता है ।

उदाहरण के लिए, जब संसाधन विकेट के दायरे में है, तो हम इसके साथ सभी प्रकार की चीजें कर सकते हैं, जैसे वेरिएबल प्रतिस्थापन, संपीड़न, न्यूनीकरण, एकत्रीकरण। ये चीजें विकेट का हिस्सा हैं।

अब आपकी समस्या के लिए, क्योंकि आपने विकेट को यह नहीं बताया कि लिंक किए गए संसाधन इसके नियंत्रण में हैं, विकेट मानता है कि आप कंटेनर को उनको संभालने के लिए चाहते हैं। इसे कम करने के लिए, आपको अपने <link> टैग (ओं) के आस-पास <wicket:link> टैग जोड़ना चाहिए।

<head> 
    ... 
    <wicket:link> 
    <link rel="stylesheet" href="css/conor.css" type="text/css" /> 
    ... 
    </wicket:link> 
</head> 

<wicket:link> टैग विकेट बता संलग्न संसाधनों के लिए देखने के लिए और जावा वर्ग पथ पर उन्हें हल करने का प्रयास करने के लिए।

+1

उत्कृष्ट, इसके लिए धन्यवाद। विकेट डालने दोनों: इसके चारों ओर लिंक टैग और इसे वेबपैप में जोड़ने से काम लगता है। प्रश्न हालांकि ... ऐसा करने का अनुशंसित तरीका क्या है? –

+0

आपके उपयोग के मामले पर निर्भर करता है। पुन: प्रयोज्य घटकों के लिए आप घटक के बगल में जेएस और सीएसएस रखना चाहते हैं। अनुप्रयोगों के लिए, आप केवल एक बड़ी जेएस फ़ाइल और एक बड़ी सीएसएस फ़ाइल चाहते हैं। –

+0

उत्कृष्ट धन्यवाद। सोचो कि मैं वेबपैप फ़ोल्डर के साथ जाऊंगा क्योंकि यह सिर्फ एक साइट पर है जो मुझे चाहिए। –

3

सामान्य रूप से आपको प्रोजेक्ट/src/main/webapp/css में अपना सीएसएस जोड़ना चाहिए और फिर इसे सीएसएस/कॉनॉर द्वारा एक्सेस किया जाएगा।आप अपनी परियोजनाओं में एक सीएसएस फ़ाइलों आप शुरू में लोड कर सकते हैं है, तो

@Override 
public void renderHead(IHeaderResponse response) { 
    response.render(CssHeaderItem.forReference(new CssResourceReference(myCssFile.class, "myCssFile.css"))); 
} 

: सीएसएस

+0

इस उत्तर के लिए धन्यवाद। आपके योगदान और मार्टिजन के बीच मैंने यह पता लगाया है कि मुझे क्या चाहिए। –

2

आप ऐसे ही अपने विकेट जावा पेज में अपने सीएसएस फ़ाइलें लोड कर सकते हैं।

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