JSP页面导入/ Javascript对象

时间:2016-04-15 22:12:30

标签: javascript jsp

我遇到的问题涉及服务器端(JSP),因此我无法将jFiddle示例放在一起,但我将尽我所能尽力证明问题:

首先,我有一个JSP页面,在页面顶部我导入了一个javascript文件,其中包含一个在页面上使用了不同时间的javascript类。

因此,以下(导入A)将导入到JSP页面的顶部,以便在页面内容中使用:

<script>
    var TheJSClass = function(aValue, bValue) {
     var me = this;
     this.somePropertyA = aValue;
     this.somePropertyB = bValue;
     this.showValues = function() {
      console.log("me.somePropertyA = " + me.somePropertyA);
      console.log("me.somePropertyB = " + me.somePropertyB);
     }
    }
</script>

所以在JSP页面上只有一些HTML:

<ul>

  <li> blah blah blah 
    <!-- jsp import B here -->
  </li>

  <li> blah2 blah2 blah2
    <!-- jsp import B here -->
  </li>

</ul>

以下是导入B的示例

<!-- the unique_id is an attribute set on the page that I increment here at the top of this (import B) file this was my attempt to differentiate between the instances of the class within import A-->
<script>
 var info<%=unique_id%> = new TheJSCLass(10,20);
</script>
<a href="" onclick="info<%=unique_id%>.showValues();">Try Me</a>

这一切似乎都有效....当我添加多个导入时会出现问题...例如,以下内容:

<!-- Another Import B -->

    <script>
     var info<%=unique_id%> = new TheJSCLass(30,40);
    </script>
    <a href="" onclick="info<%=unique_id%>.showValues();">Try Me</a>

然后是另一个:

<!-- Another Import B -->

    <script>
     var info<%=unique_id%> = new TheJSCLass(60,70);
    </script>
    <a href="" onclick="info<%=unique_id%>.showValues();">Try Me</a>

问题是,每一个&#34;试试我&#34;按钮显示上次导入的值,因此它们将显示60 70作为值...我是否会这样做错了?有什么建议?谢谢大家的时间。

编辑:我刚刚创建了这个jFiddle,它除了JSP之外还有一些东西,它为每个变量名添加了数字,它运行正常:

https://jsfiddle.net/vzo4fmjt/

这与我在每次导入时添加到变量名称的JSP编号有关吗?

1 个答案:

答案 0 :(得分:0)

感谢所有试图查看出错的人。事实证明,我做了一些非常愚蠢的事情。在我的真实文件中,“var me = this;”有点失踪var让它变得全球化导致了这个......对于那些浪费时间的人抱歉!