2011-06-10 9 views
10

JSF पेज टेम्पलेट्स में मैं एक सीएसएस संसाधन शामिल करने के लिए इस कोड का उपयोग:मैं जेएसएफ आउटपुट स्टाइलशीट के साथ सीएसएस कैश बस्टिंग कैसे कार्यान्वित कर सकता हूं?

<h:outputStylesheet library="css" name="mystyles.css" /> 

हमेशा की तरह CSS कैश पर्दाफाश लागू करने के लिए v=123 की तरह एक संस्करण पैरामीटर जोड़ने के लिए, है, लेकिन इस outputStyleSheet में समर्थित नहीं है होगा:

<h:outputStylesheet library="css" name="mystyles.css?v=123" /> 

एक जेएसएफ 1064 चेतावनी का कारण बन जाएगा और सीएसएस नहीं मिलेगा।

उत्तर

9

StylesheetRenderer (मान लीजिए कि आप मोजाररा पर हैं) को ओवरराइड किए बिना यह संभव नहीं है। यह वास्तव में क्वेरी स्ट्रिंग को खाते में नहीं लेता है। हालांकि, एक (अस्थायी) कार्यवाही के रूप में यह जानना अच्छा होता है कि <h:outputStyleSheet> के अंदर सीएसएस के अपने @import नियम का उपयोग कर सीएसएस को शामिल करना मान्य है।

<h:outputStylesheet target="head"> 
    @import url('css/mystyles.css?v=123') 
</h:outputStylesheet> 

आप Mojarra लड़कों के लिए एक enhancement request पोस्ट करने के लिए आगामी रिलीज़ में समय इसे ध्यान में कर सकते हैं।

+0

और यह '' के लिए कैसे काम करता है? – banterCZ

+1

@banter: बेहतर संसाधन संसाधन पुस्तकालय संस्करण का उपयोग करें। इस उत्तर के नीचे भी देखें: http://stackoverflow.com/questions/11988415/what-is-the-jsf-resource-library-for-and-how-should-it-be-used/11 9 88418#11988418 – BalusC

+0

धन्यवाद , लेकिन मैं निर्देशिकाओं का नाम बदलने से बचना चाहता हूं। जेएसपी से, मुझे अनुरोध के लिए प्रचारित मेवेन संस्करण के माध्यम से स्क्रिप्ट संस्करण को परिभाषित करने के लिए उपयोग किया जाता है। तो ऐसा नहीं लगता है कि जेएसएफ में एक सरल समाधान है। – banterCZ

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

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