【问题标题】:include external java script file in jsp page在 jsp 页面中包含外部 javascript 文件
【发布时间】:2011-06-15 00:18:00
【问题描述】:

我有一个名为 paging.js 的外部 JavaScript 文件。以下是文件内容:

function Pager(tableName,itemPerPage){
    this.tableName = tableName;
    this.itemPerPage = itemPerPage;
    this.currentPage = 1;
    this.pages = 0;

    this.init()= function(){
        alert("init called ");
        var rows = document.getElementById(tableName).rows;
        var records = (rows.length - 1);
        this.pages = Math.ceil(records / itemPerPage);
    }

    this.showPageNav = function(pagerName,positionId){
        alert("show page navi call");
        var element = document.getElementById(positionId);
        var pagerHtml = '<input src = "next.jpg" type="image">';
        pagerHtml += '<input src = "next.jpg" type="image">' ;
        element.innerHTML = pagerHtml;
    }
}

现在我尝试从我的 jsp 页面调用 init,例如 .

<script type="text/javascript">
                        var pager = new Pager('results',7);
                        pager.init();
                    </script>

这段代码是我在我的jsp页面中完成我的正文部分之前放置的。

为了包含这个页面,我放了一行

<script type="text/javascript" 
                  src="${pageContext.request.contextPath}/js/paging.js"></script>

但我无法调用 init 方法。有没有人帮我找出问题?

【问题讨论】:

  • 怎么打不通init?你试过萤火虫吗?你能看到浏览器中加载的 javascript 文件吗?
  • 是的,如果我将简单的警报放入页面,它就可以正常工作
  • 是的,你是对的,它在 IE 上工作。但是为什么简单的警报工作而这不起作用。

标签: java javascript jsp


【解决方案1】:

这行代码就是问题所在:

this.init()= function(){

改成:

this.init=function() {

【讨论】:

    【解决方案2】:

    试试

    <script type="text/javascript" 
                      src="js/paging.js"></script>
    

    【讨论】:

    • 如果 url 是 http://baseurl/conextroot/somedir/myjsp.jsp 并且 JS 就在上下文根目录下,这可能不起作用。
    【解决方案3】:

    使用 .jsp 2.+ 技术,我将所有链接和脚本放在一个单独的文件中,我使用 &lt;jsp:include&gt; 指令引用该文件:

    <jsp:include page="//path to your links_and_scripts page">
    

    我的 links_and_scripts 页面有这个 meta 和我的脚本的路径:

    <meta http-equiv="Content-Script-Type" content="application/javascript; charset=utf-8" />
    <script src="// path to your scripts js"></script>
    //...your other scripts and links here
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-03-19
      • 2016-02-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多