2012-10-13 14 views
6

में काम नहीं कर रहा है मुझे अपने पोर्टल के लिए कुछ जावास्क्रिप्ट और सीएसएस का उपयोग करना है। मैं सॉर्टिंग और कुछ इंटरैक्टिव डिस्प्ले के लिए कुछ डेटाटेबल jQuery का उपयोग कर रहा हूं, लेकिन यह काम नहीं कर रहा है।जावास्क्रिप्ट और सीएसएस मेरे लाइफरे पोर्टल

क्या कोई मुझे मार्गदर्शन कर सकता है कि मैं कहां गलती कर रहा हूं?

यह डॉक्रोट की मेरी निर्देशिका संरचना है जहां मेरा जेएस और सीएसएस रखा जाता है।

enter image description here

यहाँ मेरी view.jsp फ़ाइल जिसमें डेटा गतिशील भरने कर रहा हूँ।

<%@page import="com.video.util.VideoActionUtil"%> 
<%@page import="com.video.database.model.Video"%> 
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" 
    pageEncoding="ISO-8859-1" 
    import="com.video.database.model.Video.*"%> 
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
    <head> 
     <title>Applying JQuery DataTables plugin in the Java Server application</title> 

    <link href="docroot/js/jquery-1.2.6.min.js" type="text/javascript"> 
     <link href="docroot/css/demo_page.css" rel="stylesheet" type="text/css" /> 
     <link href="docroot/css/demo_table.css" rel="stylesheet" type="text/css" /> 
     <link href="docroot/css/demo_table_jui.css" rel="stylesheet" type="text/css" /> 
     <link href="docroot/css/jquery-ui.css" rel="stylesheet" type="text/css" media="all" /> 
     <link href="docroot/css/jquery-ui-1.7.2.custom.css" rel="stylesheet" type="text/css" media="all" /> 
     <script src="docroot/js/query.js" type="text/javascript"></script> 
     <script src="docroot/js/jquery.dataTables.min.js" type="text/javascript"></script> 
     <script type="text/javascript"> 
     $(document).ready(function() { 
      $("#companies").dataTable({ 
       "sPaginationType": "full_numbers", 
       "bJQueryUI": true 
      }); 
     }); 
     </script> 
    </head> 
    <body id="dt_example"> 
     <div id="container"> 

      <div id="demo_jui"> 
       <table id="companies" class="display"> 
        <thead> 
         <tr> 
          <th>Company name</th> 
          <th>Address</th> 
          <th>Town</th> 
         </tr> 
        </thead> 
        <tbody> 
         <% 
         long l=10154; 
         for(Video c: VideoActionUtil.getAllVideo(l)){ %> 
          <tr> 
          <td><%=c.getTitle()%></td> 
          <td><%=c.getDescription()%></td> 
          <td><%=c.getTypeId()%></td> 
          </tr> 
         <% } %> 
        </tbody> 
       </table> 
      </div> 
     </div> 
    </body> 
</html> 

शायद यह सीएसएस और जावास्क्रिप्ट का पता नहीं लगा सकता है? मैंने पथ href=/css/[filename] के साथ प्रयास किया है लेकिन यह भी काम नहीं करता है इसलिए मैंने docroot/css/ [filename] दिया है।

धन्यवाद और सादर Bhavik कामदेव

@ श्री Barmar

<script src="../js/jquery-1.2.6.min.js" type="text/javascript"></script> 
     <link href="../css/demo_page.css" rel="stylesheet" type="text/css" /> 
     <link href="../css/demo_table.css" rel="stylesheet" type="text/css" /> 
     <link href="../css/demo_table_jui.css" rel="stylesheet" type="text/css" /> 
     <link href="../css/jquery-ui.css" rel="stylesheet" type="text/css" media="all" /> 
     <link href="../css/jquery-ui-1.7.2.custom.css" rel="stylesheet" type="text/css" media="all" /> 
     <script src="../js/query.js" type="text/javascript"></script> 
     <script src="../js/jquery.dataTables.min.js" type="text/javascript"></script> 
     <script type="text/javascript"> 
+0

कोशिश 'href = जाना अच्छा कर रहे हैं" सीएसएस/[filename] " ' –

+0

उत्तर के लिए धन्यवाद, लेकिन कोशिश की है। काम नहीं कर रहे हैं। कोई अन्य सुझाव? –

+0

जेनरेट एचटीएमएल की जांच करें, क्या यह अपेक्षित जगह पर इंगित करता है? क्या आप सीधे यूआरएल के साथ सीएसएस/जेएस फाइलें प्राप्त कर सकते हैं? (जैसे 'http: // domain.com/css/my.css') view.jsp का यूआरएल? यह डॉक्रोट या अंदर डॉक्रूट/अन्य_डीआईआर/या अन्य_डीआईआर के अंदर है? –

उत्तर

4

@tairi कि भी हम do.but कर सकते हैं मैं अपने समाधान सिर्फ विशेष js या सीएसएस निम्नलिखित

<script src="<%=request.getContextPath()%>/js/jquery-1.2.6.min.js" type="text/javascript"></script> 

जो दूसरों को इस तरह समस्या है के लिए के साथ करने के लिए पथ दिया तो बस अपने css/js पुनः प्राप्त हो गया <%=request.getContextPath()%>

के साथ फ़ाइल आप सभी को धन्यवाद। किसी भी तरह से आपने इसे हासिल करने में मेरी मदद की।

+0

यह मेरी मदद करता है जब मुझे अपने पोर्टलेट में कुछ छवियां जोड़ने की आवश्यकता होती है। मैंने डॉक्रूट के नीचे एक/img/फ़ोल्डर बनाया और वहां चित्रों को रखा। मैं Redirecting CatsAndCode

+0

ओह अच्छा thats ... कम से कम मैं' view.jsp में किसी –

+0

मदद की वैसे, '' और '' एक पोर्टल का? यह सिर्फ सही नहीं है! और यह दृष्टिकोण 'https' का उपयोग करते समय समस्याएं पैदा कर सकता है। –

1

URL हैं, जो / के साथ शुरू नहीं करते यूआरएल उन्हें संदर्भ में निर्देशिका के सापेक्ष समझा जाता है। तो यदि URL http://domain.com/docroot/jsps/view.jsp वाला कोई पृष्ठ docroot/css/something.css तक पहुंचता है, तो यह http://domain.com/docroot/jsps/docroot/css/something.css देखेंगे।

../css/[filename].css और ../js/[filename].js जैसे पथों का उपयोग करने का प्रयास करें। ../ का अर्थ निर्देशिका पदानुक्रम में एक स्तर तक जाना है।

+0

या आप सही हैं और मैंने भी कोशिश की है। लेकिन पता नहीं क्यों अभी भी काम नहीं कर रहा है। अंत में देखें, मैंने सुझाव दिया है कि मैंने अपना जवाब अपडेट किया है जैसा कि आपने सुझाव दिया था। लेकिन यह –

5

इसके बजाय <link href="docroot/js/jquery-1.2.6.min.js" type="text/javascript"> का उपयोग कर के, आप का उपयोग कर सकते हैं:

<link href="/js/jquery-1.2.6.min.js" type="text/javascript"> 

यह आपके फ़ाइल के लिए निरपेक्ष पथ है, /docroot फ़ोल्डर का मतलब है। Btw, Liferay उपयोग डिफ़ॉल्ट लोड हो रहा है CSS और JS फ़ाइल जो इस तरह docroot\WEB-INF\liferay-portlet.xml में परिभाषित किया गया है:

<portlet> 
    <portlet-name>Your portlet name</portlet-name> 
    <icon>/icon.png</icon> 
    <indexer-class>Your portlet class</indexer-class> 
    <instanceable>false</instanceable> 
    <header-portlet-css>/css/main.css - link to your header css</header-portlet-css> 
    <footer-portlet-javascript>/js/main.js - link to your header js</footer-portlet-javascript> 
    <css-class-wrapper>DongBat-SLL-DT-portlet</css-class-wrapper> 
</portlet> 

तो तुम बदल सकते हैं या हेडर के लिए लोड करने के लिए इन फ़ाइल से js या सीएसएस शामिल कर सकते हैं।

+0

काम नहीं कर रहा है, तो मैं एक और सीएसएस और जेएस जोड़ूंगा ? और सीएसएस और हेडर जेएस के नेतृत्व में इसका क्या अर्थ है? –

+0

हेडर सीएसएस और हेडर जेएस को आपके पोर्टलेट के डिफ़ॉल्ट रूप से बुलाया जाएगा, आपको इसे फिर से शामिल करने की आवश्यकता नहीं है –

+0

क्षमा करें? मैं इसे प्राप्त नहीं कर सकता !! मैं पूछ रहा हूं कि भिन्नता बीवेन हेडर सीएसएस और हेडर जेएस और फूटर जेएस और पाद लेख सीएसएस –

2

@Taiki इंगित करता है Liferay में एक एक्सएमएल फ़ाइल वर्णनकर्ता जो आप सीएसएस और जावास्क्रिप्ट में या तो पोर्टल हेडर या फुटर

Liferay-portlet portlet में इस्तेमाल किया सेट करने देता है।एक्सएमएल

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE liferay-portlet-app PUBLIC "-//Liferay//DTD Portlet Application 5.2.0//EN" 
     "http://www.liferay.com/dtd/liferay-portlet-app_5_2_0.dtd"> 
<liferay-portlet-app> 
    <portlet> 
     <portlet-name>PortletName</portlet-name> 
     <header-portlet-css>/css/your.css</header-portlet-css> 
     <header-portlet-javascript>/js/jquery.js</header-portlet-javascript> 
     <footer-portlet-javascript>/js/your.js</footer-portlet-javascript> 
    </portlet> 

</liferay-portlet-app> 

आप अपने वेब-INF में इस जगह के हिसाब से रास्तों को समायोजित और आप अपने दृश्य में फ़ाइलों को संदर्भित करने के लिए कोई जरूरत नहीं

+0

ya..i यह मिल गया..तुम्हें और @Taiki –

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