我如何在scriplets中使用javascript var

时间:2015-07-27 08:22:54

标签: javascript java jsp

我正在努力学习jsp。我知道一点点java,我不太了解html标签,所以我尽可能简单地使用java代码。我想要做的是从文本框中获取变量数据并将其用作字符串。

var text1 =<% request.getParameter("locationId"); %>;

<%
if ((text1 != null && text2 != null) && (!text1.equals("") && !text2.equals(""))) {
        kw1 = "'%"+text1+"%'";
        kw2 = "'%"+text2+"%'";
.
.
.
}
%>

2 个答案:

答案 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>