页面加载时为什么要执行javascript?

页面加载时为什么要执行javascript?,javascript,jsp,Javascript,Jsp,我正在使用JSP编写一个站点。我在下面包含了一段代码片段 我遇到的问题是,每次页面加载javascript中的addBookmark()方法时都会执行,但我没有看到警报。当我按下按钮时,我看到了警报,但没有调用addBookmark()方法。是什么导致了这种奇怪的行为 <% User user = new User() %> <script type="text/javascript"> function add() { <% user.ad

我正在使用JSP编写一个站点。我在下面包含了一段代码片段

我遇到的问题是,每次页面加载javascript中的
addBookmark()
方法时都会执行,但我没有看到警报。当我按下按钮时,我看到了警报,但没有调用
addBookmark()
方法。是什么导致了这种奇怪的行为

<% User user = new User() %>
<script type="text/javascript">
   function add()
   {
      <% user.addBookmark(); %>                               
      alert("addBookmark");
   }
</script>

<button type="button" style="float: right" onclick="add()">Bookmark</button>

函数add()
{
警告(“添加书签”);
}
书签

感谢是前进

JSP在加载页面时执行,因为JSP中的所有命令都在服务器上执行。 Javascript只在浏览器中执行

因此,您看到的是服务器正在构建页面,执行函数,然后输出页面。 该功能不再存在于javascript中。如果它本身没有输出一些javascript代码,至少不会


单击该按钮时,jsp代码已经执行。如果您想在那一刻执行代码,您需要用javascript而不是jsp来编写代码,或者使用另一个请求来调用代码。

jsp在加载页面时执行,因为jsp中的所有命令都在服务器上执行。 Javascript只在浏览器中执行

因此,您看到的是服务器正在构建页面,执行函数,然后输出页面。 该功能不再存在于javascript中。如果它本身没有输出一些javascript代码,至少不会


单击该按钮时,jsp代码已经执行。如果您想在那一刻执行代码,您需要用javascript而不是jsp来编写代码,或者使用另一个请求来调用代码。

因为jsp不直接与浏览器通信,也不知道浏览器对页面做了什么以及用户做了什么。它只是一个简单的解释器,遍历您的代码并查找
,因为JSP不直接与浏览器通信,也不知道浏览器对页面做了什么以及用户做了什么。它只是一个简单的解释器,可以遍历您的代码并查找
可能您应该发布生成的文件(即您的浏览器看到的文件)。您试图触发
addBookmark()
user
对象是什么?按照@Gabe,发布浏览器呈现的内容。也许您应该发布生成的文件(即浏览器看到的内容)。您试图触发的
user
对象
addBookmark()
是什么?Per@Gabe,发布浏览器呈现的内容。好的,这很有意义。有没有办法解决这个问题?我宁愿不必求助于表单和servlet。我想保持简单,这是有道理的。有没有办法解决这个问题?我宁愿不必求助于表单和servlet。我想保持简单