JSP頁面調用不了js代碼


有什么原因會導致這樣
<script type="text/javascript" charset="gbk" src="${pageContext.request.contextPath}/backend//js/util.js"></script> 

17 个解决方案

#1


backend //js/
這個地方不是多了一個斜線么

#2


引用 1 樓  的回復:
backend//js/
這個地方不是多了一個斜線么

剛才打錯了。。。。但是改回來也是一樣
${pageContext.request.contextPath}/backend/js/util.js
js/util.js都沒用

#3


<script type="text/javascript" charset="gbk" src="${pageContext.request.contextPath}/backend//js/util.js"></script> 

檢查下所生成的HTML源代碼,其src路徑是否正確,最好復制出來在瀏覽器上的地址欄直接試試看。

#4


地址:http://localhost:8080/xindou/backend/
源代碼:
    
<html>
<head>
<title>后台管理系統</title>
<meta name="author" content="tocean"></meta>
<meta name="keywords" content="新豆,后台,管理"></meta>
<meta name="description" content="新豆網是一個電子商城網站,提供電器類產品購買"></meta>

<meta http-equiv="Content-Type" content="text/html;charset=gbk"></meta>


<!--

這里是注釋,head之間還可以
包含script,link,style等與
javascript\css有關的標簽,
講到的時候具體講解
-->
        <!-- 使用外部樣式表-->
       <link rel="stylesheet" type="text/css" href="css/content.css"/>
</head>
<body >
歡迎訪問新豆網后台管理系統!
</body>
</html>

#5


你貼出來的HTML源碼(就是瀏覽器點右鍵看源碼),連這句話都找不到了?!

<script type="text/javascript" charset="gbk" src="${pageContext.request.contextPath}/backend//js/util.js"></script>  

沒搞錯頁面吧?

#6


[


<%@page pageEncoding="gbk" %>
<html>
<head>
     <title>菜單頁面</title>
        <meta http-equiv="Content-Type" content="text/html;charset=gbk"></meta>
        <link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath}/backend/css/menu.css"/>
        <script type="text/javascript" language="javascript" charset="gbk" src="${pageContext.request.contextPath}/backend/js/util.js"></script>
        <script type="text/javascript"> 
        function initMenu(){
         alert("******************");
         //所有父菜單,采用通用的getElementsByClassName()
         var supMenus = getElementsByClassName("sup_menu",null,"h1");
         //所有子菜單
         var subMenus = getElementsByClassName("sub_menu",null,"ul");
        
        
         //設置除第一個子菜單外的其它子菜單為隱藏狀態
         for(var i=0;i<subMenus.length;i++){
         if(i==0){
         continue;
         }else{
         subMenus[i].style.display="none";
         }
         }
        
         //為每一個sup_menu注冊事件
         for(var i=0;i<supMenus.length;i++){
         supMenus[i].onclick=function(){
         //隱藏所有
         for(var j=0;j<subMenus.length;j++){
         subMenus[j].style.display="none";
         }
         //讓選中的子菜單顯示出來
         var idx = index(this,supMenus);
         subMenus[idx].style.display="";
         }
         }
        }

        function index(obj,arr){
         for(var i=0;i<arr.length;i++){
         if( obj==arr[i]){
         return i;
         }
         }
         return -1;
        }
        
        </script>

    </head>
    <body onLoad="initMenu()">
     <ul id="menu">
         <li>
             <!-- -->
             <h1 class="sup_menu"><a herf="#">產品管理</a></h1>
                <ul class="sub_menu">
                    <li><a href="${pageContext.request.contextPath}/backend/brand/toAdd.action" target="main">添加品牌</a></li>
                    <li><a href="${pageContext.request.contextPath}/backend/brand/list.action"  target="main">品牌管理</a></li>
                    <li><a href="${pageContext.request.contextPath}/backend/category/toAdd.action"  target="main">添加分類</a></li>
                    <li><a href="${pageContext.request.contextPath}/backend/category/list.action"  target="main">分類管理</a></li>
                    <li><a href="${pageContext.request.contextPath}/backend/product/toAdd.action"  target="main">添加產品</a></li>
                    <li><a href="${pageContext.request.contextPath}/backend/product/list.action"  target="main">產品管理</a></li>
                </ul>
            </li>
            
            <li>
             <h1 class="sup_menu"><a herf="#">支付方式管理</a></h1>
                <ul class="sub_menu">
                    <li><a href="${pageContext.request.contextPath}/backend/payWay/toAdd.action" target="main">添加支付方式</a></li>
                    <li><a href="Admin_list.html" target="main">支付方式管理</a></li>
                </ul>
            </li>
            <li>
             <h1 class="sup_menu"><a herf="#">送貨方式管理</a></h1>
                <ul class="sub_menu">
                    <li><a href="${pageContext.request.contextPath}/backend/sendWay/toAdd.action" target="main">添加送貨方式</a></li>
                    <li><a href="Admin_list.html" target="main">送貨方式管理</a></li>
                </ul>
            </li>
            <li>
             <h1 class="sup_menu"><a herf="#"  >會員管理</a></h1>
                <ul class="sub_menu">
                    <li><a href="User_add.html" target="main">添加會員</a></li>
                    <li><a href="User_list.html" target="main">會員管理</a></li>
                </ul>
            </li>
            <li>
             <h1 class="sup_menu"><a herf="#">管理員管理</a></h1>
                <ul class="sub_menu">
                    <li><a href="Admin_add.html" target="main">添加管理員</a></li>
                    <li><a href="Admin_list.html" target="main">管理員管理</a></li>
                </ul>
            </li>
     </ul>                
    </body>
   
</html>


#7


->backend
    ->js
            ->util.js
    ->index.jsp
    ->menu.jsp

#8


有點“雞同鴨講”的感覺。

我的意思是,這句話:
   <script type="text/javascript" language="javascript" charset="gbk" src="${pageContext.request.contextPath}/backend/js/util.js"></script>
是你的JSP源代碼,這個暫時已經不重要了。

需要從瀏覽器上訪問該頁面,比如:http://localhost:8080/xindou/backend/
然后在瀏覽器上點“鼠標右鍵”,選擇“查看網頁源代碼”,然后認真看看這句話中關於:
  src="${pageContext.request.contextPath}/backend/js/util.js"
的內容究竟變成什么了?

#9


源代碼就是4樓的內容。。。。

#10


源代碼就是4樓的內容

#11




<html>
<head>
     <title>菜單頁面</title>
        <meta http-equiv="Content-Type" content="text/html;charset=gbk"></meta>
        <link rel="stylesheet" type="text/css" href="/xindou/backend/css/menu.css"/>
        <script type="text/javascript" language="javascript" charset="gbk" src="/xindou/backend/js/util.js"></script>
        <script type="text/javascript"> 
        function initMenu(){
         alert("******************");
         //所有父菜單,采用通用的getElementsByClassName()
         var supMenus = getElementsByClassName("sup_menu",null,"h1");
         //所有子菜單
         var subMenus = getElementsByClassName("sub_menu",null,"ul");
        
        
         //設置除第一個子菜單外的其它子菜單為隱藏狀態
         for(var i=0;i<subMenus.length;i++){
         if(i==0){
         continue;
         }else{
         subMenus[i].style.display="none";
         }
         }
        
         //為每一個sup_menu注冊事件
         for(var i=0;i<supMenus.length;i++){
         supMenus[i].onclick=function(){
         //隱藏所有
         for(var j=0;j<subMenus.length;j++){
         subMenus[j].style.display="none";
         }
         //讓選中的子菜單顯示出來
         var idx = index(this,supMenus);
         subMenus[idx].style.display="";
         }
         }
        }

        function index(obj,arr){
         for(var i=0;i<arr.length;i++){
         if( obj==arr[i]){
         return i;
         }
         }
         return -1;
        }
        
        </script>

    </head>

#12


把那個${pageContext.request.contextPath}輸出看看是什么。

#13


忘記了訪問的index是包含了menu.jsp

#14


引用 11 樓  的回復:
HTML code



<html>
    <head>
        <title>菜單頁面</title>
        <meta http-equiv="Content-Type" content="text/html;charset=gbk"></meta>
        <link rel="stylesheet" type="text/css" href="……


/xindou

#15


css樣式也可以。。。。估計不是路徑問題吧。。。。

#16


看起來生成的HTML代碼沒有啥問題:
  <script type="text/javascript" language="javascript" charset="gbk" src="/xindou/backend/js/util.js"></script>


你用瀏覽器直接訪問:
  http://localhost:8080/xindou/backend/js/util.js
有內容么?


如果有內容的話,那么就剩兩個可能性:
1、util.js 自身存在語法錯誤,所以無法正確解析;
2、主頁面中調用util相關函數的JS代碼存在語法錯誤。

Anyway,你如果用的是IE9的話,你有福氣了,按 <F12>,然后選擇“腳本”Tab頁,重新運行頁面,看看有沒有什么錯誤信息提示。

#17


<%@page pageEncoding="gbk"%>刪除了這句就OK了。。。本來是UTF-8。。。想修改成gbk。。。。。。。。

注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2021 ITdaan.com