2012-03-13 191 views
-1

我做了一個數據庫項目,使用mysql作爲數據庫,jsp用於我的前端部分以及用於交互的javascript和ajax。 現在的問題是我需要分配一個java腳本變量,它有一個字符串到一個jsp變量。如何爲jsp字符串變量分配一個javascript變量?

我用下面的語句做了這個?

<%String str =「document.write(s)」; %>其中「s」已經被定義爲

<script type="text/javascript"> 
var s="hello world"; 
<script> 

但讀音字

得到錯誤的賦值語句(其以粗體顯示以上)不正確的語法? 錯誤我m到處是 -

check the manual that corresponds to your MySQL server version for the right syntax to use near '<script>document.write(s)</script>' 

什麼是錯誤在這個語句或者是有在做這個任務的任何其他方法?

任何人都可以幫忙嗎?

回答

1

你不能這樣做。在執行Javascript語句之前,JSP語句在服務器端執行,在瀏覽器接收到http響應後執行客戶端。

目前尚不清楚你的目標,但如果你只需要在頁面中顯示一個javascript變量的值,你可以使用:

  • 瑣碎的javascript:

    document.write(s); 
    
  • 針對現有元素:

    document.getElementById('myElementId').innerHTML = s; 
    
  • 使用jQuery:

    $('#myElementId').html(s); 
    
0

如果我理解正確,你正在試圖建立並執行基於用戶輸入的SQL查詢是由JavaScript處理。正如ADC所說,由於jsp在服務器端執行,因此在瀏覽器執行javascript之前無法完成。你可以做的是創建sql查詢並將其作爲參數傳遞給不同的jsp/servlet(或者如果你可以處理這種情況,則是相同的),這將執行查詢

+0

這就是我需要的,我需要通過我的sql stmt到另一個文件,但它不工作,所以我試圖在一個單一的文件..如何將查詢傳遞給不同的jsp,在這裏,該字符串查詢是一個臨時變量? – user1249909 2012-03-13 10:25:28

0

在構建sql語句的第一頁變量s你應該把這樣的東西

<script> 
var s = "hello world"; 
function createLink(){ 
    document.getElementById('mylink').href= 'page2.jsp?statement='+s; 
} 
window.onload=createLink; 

</script> 

<a id="mylink" href=""/>Click to exexute query</a> 

它創建一個鏈接到你的第二頁(page2.jsp)傳遞語句作爲參數。

現在page2.jsp你應該retreive參數值一樣

<% String statement = request.getParameter("statement") %> 

,然後執行查詢。

更好的是,您應該使用servlet而不是jsp頁面來執行查詢。您可以閱讀jsp/sevlets的教程,以瞭解如何完成這項工作。 http://www.laliluna.de/articles/posts/first-java-servlets-jsp-tutorial.html

相關問題