2013-04-02 69 views
1

我有以下功能:如何從JSP標籤內訪問函數中的變量

<script> 
    function assign() 
    { 
    var val = ""; 
    val = document.form1.text1.value; 
    alert(val); 
    } 

我想訪問JSP標籤內的變量val的值,這樣我可以通過它以字符串的形式傳遞給googlePlus方法。我試圖讓var val作爲一個全局變量,但它不起作用。我如何訪問下面的代碼中的變量val?

<% 
String output = ""; 
if (Boolean.valueOf(request.getParameter("submitted")) == true) { 
    Scraping h = new Scraping(); 
    output = h.googlePlus(); 
} 
%> 
+2

您不能訪問該變量。您的JSP/Java代碼在Web服務器上運行,並且您的JavaScript在瀏覽器中運行 - 既不能訪問其他變量。您可以提交包含值來自該字段的表單並將其作爲請求參數進行訪問。或者從你的JS發出一個Ajax請求,Java再次接收這個值作爲請求參數。 – nnnnnn

回答

1

您可以指定使用賦值運算符將一些隱藏的JSP場變量的值,然後使用的document.getElementById使用它在JS()。該代碼將是有點像: <input type="hidden" value="<%=output%>"> 或可替代地,如果您的JS駐留的JSP僅 變種S =「<%=輸出%>」內部;應該管用! 乾杯!

2

無法通過JSP Java代碼的訪問JavaScript的變量。

你的JSP &的Java代碼在服務器端進行編譯。

而JavaScript在瀏覽器中運行。

因此,通過表單提交,AJAX或任何「VAL」變量發送到你的servlet。