2012-04-18 17 views
15

मैं ट्विटर बूटस्ट्रैप 2.0.2 (http://twitter.github.com/bootstrap) के साथ प्राइमफ़ेस 3.2 (शायद यह सामान्य रूप से जेएसएफ से संबंधित है) का उपयोग करने का प्रयास कर रहा हूं।प्राइमफेस के साथ ट्विटर बूटस्ट्रैप (जेएसएफ)

मैं स्टार्टर-उदाहरण (http://twitter.github.com/bootstrap/examples/starter-template.html) <h:head> में निम्नलिखित स्क्रिप्ट के साथ एक ड्रॉप डाउन मेनू में शामिल किया है:

<script src="/resources/js/bootstrap.js"></script> 
<script src="/resources/js/jquery-1.7.2.js"></script> 
<script src="/resources/js/bootstrap-dropdown.js"></script> 

यह JSF पृष्ठ पर ठीक काम करता है, लेकिन अगर मैं एक साधारण p:dataTable

<p:dataTable var="i" value="#{testBean.list}"> 
    <p:column> 
    <f:facet name="header"><h:outputText value="Item"/></f:facet> 
    <h:outputText value="#{i}"/> 
    </p:column> 
</p:dataTable> 

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

+0

क्या आप प्रासंगिक प्रस्तुत HTML कोड भी पोस्ट कर सकते हैं। – nfechner

+0

प्रस्तुत एचटीएमएल कोड यहां है: http://pastebin.com/avpKPnai – Thor

उत्तर

8

सब आप बेहतर h:outputScript js फ़ाइलें लोड करने के लिए उपयोग सबसे पहले ...

मुझे लगता है कि primefaces jQuery और मैन्युअल रूप से एक शामिल के बीच संघर्ष की इसके कारण ...

PrimeFaces 3.2 jQuery 1.7 के साथ आता है। 1, तो ...

अपने कोड

और मोदी से निकालें

<script src="/resources/js/jquery-1.7.2.js"></script> वित्तीय वर्ष अपने अपने <h:head> तत्व में निम्नलिखित तरीके से शामिल

<f:facet name="first"> 
    <h:outputScript library="js" name="bootstrap.js"/> 
</f:facet> 
<h:outputScript library="primefaces" name="jquery/jquery.js"/> 
<h:outputScript library="js" name="bootstrap-dropdown.js"/> 

इसके अलावा JQuery Conflicts with Primefaces? और संबंधित resource ordering पर एक नज़र डालें।

+0

ड्रॉपडाउन अभी भी काम नहीं करता है। निष्क्रिय 'पी: डेटाटेबल' के साथ यह भी काम नहीं कर रहा है। (मैंने मैन्युअल '' हटा दिया है, क्या यह ठीक है?)। jQuery को प्राइमफ़ेस लाइब्रेरी से लोड किया जाना चाहिए, क्योंकि इसे प्रस्तुत किया गया है: '

1

आप JQuery दो बार शामिल कर रहे हैं (प्राइमफेस स्वचालित रूप से आयात करता है)। अपने मैन्युअल आयात को हटाएं:

<script src="/erp/resources/js/jquery-1.7.2.js"></script> 

और सब कुछ काम करना चाहिए।

+0

मैं सत्यापित कर सकता हूं कि JQuery को प्रस्तुति आउटपुट में प्राइमफ़ेस द्वारा आयात किया जाता है, लेकिन ड्रॉपडाउन मेनू ठीक से काम नहीं करता है। – Thor

4

इस विषय को जोड़ने का एक आसान तरीका है।

आप उपयोग कर रहे हैं एक Maven परियोजना ठिकानों ऐसा करते हैं:

निर्भरता

<dependency> 
     <groupId>org.primefaces.themes</groupId> 
     <artifactId>all-themes</artifactId> 
     <version>1.0.9</version> 
    </dependency> 

जोड़े या एक विशिष्ट विषय निर्भरता

अपने वेब में इस जोड़े को जोड़ने।एक्सएमएल

<context-param> 
     <param-name>primefaces.THEME</param-name> 
     <param-value>bootstrap</param-value> 
    </context-param> 

आप Maven का उपयोग नहीं कर रहे हैं, तो मैन्युअल रूप से जार डाउनलोड करने और अपने classpath में जोड़ें:

http://repository.primefaces.org/org/primefaces/themes/

संदर्भ:

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