我正在努力学习jsp。我知道一点点java,我不太了解html标签,所以我尽可能简单地使用java代码。我想要做的是从文本框中获取变量数据并将其用作字符串。
var text1 =<% request.getParameter("locationId"); %>;
<%
if ((text1 != null && text2 != null) && (!text1.equals("") && !text2.equals(""))) {
kw1 = "'%"+text1+"%'";
kw2 = "'%"+text2+"%'";
.
.
.
}
%>
答案 0 :(得分:1)
在将有关网页的任何数据从服务器发送到客户端之前执行Scriptlet。无论你想做什么,你都需要将回发发送到服务器(带有表单或ajax调用)。我通常使用jQuery,所以我的答案将使用它,但随意修改它以使用本机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 Post:
$("#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;
?>
我没有测试过这个,所以可能有某个地方我出错了。但尝试类似我的例子,只是问你是否需要任何帮助。
答案 1 :(得分:1)
阿里,你不能将javascript变量用于jsp scriplate。
<%
String locationId=request.getParameter("locationId");
if ((text1 != null && text2 != null) && (!text1.equals("") && !text2.equals(""))) {
kw1 = "'%"+text1+"%'";
kw2 = "'%"+text2+"%'";
.
.
.
}
%>
但反之亦然,你可以在你的javascript代码中使用JSP变量。就像这样。
<script>
var locationId='<%=request.getParameter("locationId")%>';
alert(locationId);
</script>