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

标签 javascript jsp

我正在使用 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>

提前致谢!

最佳答案

因为JSP不直接与浏览器通信,也不知道浏览器对页面做了什么以及用户做了什么。它只是一个简单的解释器,它会遍历您的代码并查找 <%<% 之间的任何代码和%>被执行,其余的只是被写入浏览器。这意味着 JSP 解释器不会读取您的 JavaScript,服务器只会添加书签。

您正在寻找的是对服务器的实际添加书签的请求。类似 mypage.jsp?addBookmark=true这会添加书签。

关于javascript - 为什么页面加载时会执行 javascript?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10271032/

相关文章:

java - JSP web 应用程序数据库连接无法加载

java - 如何从服务器触发JSP页面刷新?

java - 在传递给 JSP 标记处理程序之前评估变量

java - 如何在jsp中获取单选按钮列表的值

javascript - firebase 函数在 onCreate firestore 事件中删除了错误流

javascript - 滚动表格时使表格标题保留在屏幕上(想法如下)

javascript - 为什么我的光标没有聚焦在焦点元素上?

javascript - 从javascript中的其他函数执行另一个函数

java - 如何使用JSP在PSQL中将表的输出显示为XML函数

javascript - 日期对象和 UTC 方法