簡體   English   中英

我如何在Scriplets中使用javascript var

[英]how can i use javascript var in scriplets

我正在嘗試學習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,因此我的答案將使用它,但可以隨時對其進行修改以使用本機JS代碼。 首先,我將在服務器上創建一個名為createJsonObject類的createJsonObject ,使用$.ajax (type: "POST")從客戶端調用它,並將參數作為對象傳遞

{varID: varID}

在服務器上,我將JSP放置在該頁面上,在頁面加載時讀取argumant,執行函數並將帶有數據的對象返回給客戶端。 .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>

阿賈克斯郵報:

$("#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;
?>

我尚未對此進行測試,因此可能存在我出錯的地方。 但是嘗試類似我的示例的方法,然后問是否需要任何幫助。

阿里,您不能在jsp scriplate中使用javascript變量。

<%

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>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM