1:目录结构如下:
WebRoot\jsp\sys\login\index.jsp
WebRoot\js\sys\test.js2:在index.jsp中以下写法就可以调用到test.js内的方法
<script language="javascript" type="text/javascript" src="../../../js/sys/test.js"></script>
如果写成
src="../js/sys/test.js 或者
src="/WebRoot/js/sys/test.js就都调不到!请问没有其他写法吗?现在的写法也太不利于扩展和管理了呀,请教教我该怎么写好呢?

解决方案 »

  1.   

    1.src="../../../js/sys/test.js"
    2.src="/js/sys/test.js"这样不错啊
      

  2.   

    src="/js/sys/test.js"这样写也不行 还是缺少对象的错误
      

  3.   

    用绝对路径:src="<%=request.getContextPath()%>\js\sys\test.js"
      

  4.   

    <script type="text/javascript" src="js/jquery-1.4.2.min.js"></script>
    <script type="text/javascript" src="js/login.js"></script>WebContent
         js
            login.js
      

  5.   


    这样的话得配有如下配置才好用:<%
    String path = request.getContextPath();
    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
    %>  
    <HTML><HEAD>
      <base href="<%=basePath%>">
      

  6.   


    <%
    String path = request.getContextPath();
    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
    %>   
    <HTML><HEAD>
      <base href="<%=basePath%>">
      

  7.   


    src="/WebRoot/js/sys/test.js就都调不到!WebRoot一般是项目根目录,要映射成别的项目名,其他问题你没导进去js,当然报找不到对象了,至于相对路径怎么写就不用说了吧
      

  8.   

    src="${pageContext.request.contextPath}/script/js/test.js"
      

  9.   


    这两种都是比较常用的 网上关于绝对路径和相对路径的帖子很多的
    比如这个:
    http://blog.sina.com.cn/s/blog_5d7cccb90100deqo.html
      

  10.   

    在页面写这个也行,如果使用频率比较高,可以放到web.xml文件和众配置,使用的时候就不用写小脚本了
      

  11.   


    这个可以。建议将contextPath 存到session 然后每次调用就写 ${contextPath}