2013-01-15 64 views
0

我們有jsp,它使用一些java bean來創建一些jsp中要使用的變量。我想知道如何與JavaScript共享這些變量?如何讓JavaScript使用服務器端的變量?

+0

您是否需要在服務器端更改的值反映在客戶端,或者只是加載時間值? –

+0

只需加載變量 –

+0

在這種情況下,變量是一個不明確的術語。您需要將數據序列化爲可以呈現爲字符串並由瀏覽器中的腳本進行解釋的表單。你如何做到這一點取決於數據的複雜性。如果您在技術和版本中發揮作用,這也會有所幫助。 – McDowell

回答

1

將您的bean值寫入HTML元素的值或HTML元素的屬性。給HTML元素一個ID。使用Javascript通過ID或其他訪問器檢索元素,並且可以訪問該值。你使用struts或其他Servlet框架?

一個簡單的例子

JSP:

<div id="employeeName"> 
     <jsp:getProperty name="employee" property="firstName"/> 
    </div> 

HTML:

<script type="text/javascript">var el = document.getElementById("employeeName");</script> 
+0

我只使用純servlet –

1

您可以使用JSTL標記來輸出你的Bean價值觀JavaScript代碼。它遠非優雅,但它的工作原理。例如,這是一個JSP頁面的片段:

<script type="text/javascript"> 
    <c:if test="${imServerSideBean eq false}" > 
     var imAJSVariable= new Object(); 
    </c:if> 
//More code here 
</script> 
<html> 
//Code continues 

您正在使用JSTL來選擇make是否可見JavaScript變量。

+0

推廣scriptlet的使用是個壞主意。參考:[如何避免JSP文件中的Java代碼?](http://stackoverflow.com/q/3177733/1065197) –

+0

該示例使用JSTL,但我將按照建議刪除Scriptlet引用 –

相關問題