如何在JSP的java代码中使用Javascript变量作为参数
How can i use Javascript variable as argument in java code in JSP?
我想将代码标题和价格作为参数发送到 book 对象,但给出了非法的开始表达式错误。
function addrecord() {
code = document.getElementById('code').value;
title = document.getElementById('title').value;
price = parseFloat(document.getElementById('price').value);
<% Book book = new Book(%> code <% ,%> title <% , %> price <% );
bookdb.addRecord(book);
%>
document.getElementById("code").value = "";
document.getElementById("title").value = "";
document.getElementById("price").value = "";
}
你误解了java和javascript的运行位置。使用 <% 和 %> 就像将值发送到服务器一样,而服务器没有。 这些标记仅在 JSP 内部用于启动 Java 代码片段。这仅在您生成页面时有效。一旦您的 html 进入您的浏览器,这些标签将不会执行任何操作。
突出显示重要的关键字,这不是为了讽刺
当您使用浏览器请求 jsp 页面时,浏览器会打开与服务器的网络连接。将这 2 个(浏览器、服务器)想象成生活在 2 个完全不同的地方。
然后,服务器运行 java 代码。当它执行时,它会生成一个 html 页面。此 html 页面通过网络连接发送回客户端(您的浏览器)
您的浏览器将收到这个完全形成的 html 页面,并使用它来创建其视图。在此页面上,您可以运行javascript,但javascript只能在客户端(浏览器)上运行
要再次将任何变量返回服务器,您需要:获取或发布表单(使用表单 tage 中的提交,或使用 JavaScript post 请求,如表单提交),执行 ajax 调用 (http://www.javascriptkit.com/dhtmltutors/ajaxgetpost.shtml) 或让用户单击链接(href="...您的页面")。
最简单的方法是执行以下操作:
<form method="POST" action="your/page/url">
<input type="hidden" name="someName" value="someValue" />
<input type="submit" />
</form>
阅读一些链接并确保您记住,您的浏览器和服务器是分开的,因此在浏览器中运行 JavaScript 不会到达服务器。
请参阅此处: 在 JSP 中将 JavaScript 变量分配给 Java 变量
如上所述,这实际上是不可能的,因为 JSP 在服务器上执行,而 javascript 稍后在浏览器中执行。
- 将函数的上下文应用于javascript变量
- 如何通过ajax刷新JSF填充的javascript变量
- Javascript变量赋值|
- 限制javascript变量的最小/最大整数
- 来自文本输入null的html javascript变量
- 访问jsrender模板中的全局javascript变量并更新它
- 从数据库中获取数据并插入JavaScript变量
- 如何将javascript变量传递到Meteor Spacebars模板中
- 将JavaScript变量保存到Rails模型
- 在if语句下的html中使用javascript变量
- Javascript变量分配-按类别
- 操作javascript变量[HTML]以只显示文本
- 无法比较javascript变量
- 如何将smarty变量与javascript变量进行比较
- 如何使用PHP将javascript变量添加到mysql数据库中
- Javascript 变量使用 jquery 查找变量
- 重新加载页面时Javascript变量发生变化
- 在asp classic中使用javascript变量
- 全局Javascript变量变为null
- 如何向服务器端提交javascript变量