我正在努力学习jsp。我懂一点java,但对html标签了解不多,所以我尽可能简单地使用java代码。我想做的是从文本框中的变量获取数据并将它们用作字符串。
var text1 =<% request.getParameter("locationId"); %>;
<%
if ((text1 != null && text2 != null) && (!text1.equals("") && !text2.equals(""))) {
kw1 = "'%"+text1+"%'";
kw2 = "'%"+text2+"%'";
.
.
.
}
%>
最佳答案
Scriptlet 在任何有关网页的数据从服务器发送到客户端之前执行。无论你想做什么,你都需要将回发发送到服务器(使用表单或ajax调用)。我通常使用 jQuery,所以我的答案将使用它,但可以随意修改它以使用 native JS 代码。首先,我会在服务器上创建一个名为 createJsonObject
的页面,使用 $.ajax (type: "POST")
从客户端调用它,并将我的参数作为对象
{varID: varID}
在服务器上,我会将 JSP 放置在该页面上,在页面加载时读取参数,执行函数并将带有数据的对象返回给客户端。在 .done()
中,我会对该数据执行一些操作(以表单显示它们,将它们保存在 JS 变量中...)。
希望这对您有所帮助。
示例(仅展示如何通过表单示例使用 Ajax)
HTML 表单:
<form name="formName" method="post" action="">
<input type="text" name="name" id="firstName" value="" />
<input type="text" name="lastName" id="lastName" value="" />
<input type="submit" name="Update" id="update" value="Update" />
</form>
Ajax 帖子:
$("#update").click(function(e)
{
e.preventDefault();
var firstName = $("#firstName").val();
var lastName = $("#lastName").val();
var dataObject = {};
dataObject.firstName = firstName;
dataObject.lastName = lastName;
$.ajax({
type:'POST',
data:dataObject,
url:'returnData.php',
success:function(data)
{
alert(data);
}
});
});
PHP:
<?php
$receivedObject = json_decode($_POST['data'], true);
$name = $receivedObject['firstName'];
$lastName = $receivedObject['lastName'];
echo $name . ' ' . $lastName;
?>
我还没有测试过这个,所以可能有地方出错了。但是尝试像我的例子一样,然后询问您是否需要任何帮助。
关于javascript - 我如何在 scriplet 中使用 javascript var,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31648176/