我有一些問題,內容如下:是否可以使用jsp變量值來初始化JQUERY變量?
我如何使用jQuery代碼的JSP變量/數組?在這裏,我們擁有的JQUERY代碼存儲在單獨的.js文件中,並且該文件包含在JSP文件中。
其實我想用JSP變量初始化JQUERY數組。 所以請指導我完成這項任務。
我有一些問題,內容如下:是否可以使用jsp變量值來初始化JQUERY變量?
我如何使用jQuery代碼的JSP變量/數組?在這裏,我們擁有的JQUERY代碼存儲在單獨的.js文件中,並且該文件包含在JSP文件中。
其實我想用JSP變量初始化JQUERY數組。 所以請指導我完成這項任務。
在普通老式JSP
<script>
var someText = "<%= myBean.getText() %>";
</script>
使用EL(表達式語言)使用
<script>
var someText = "${myBean.text}";
</script>
的Struts
<script>
var someText = '<bean:write name="myBean" property="text" />';
</script>
使用JSTL
<script>
var someText = '<c:out value="${myBean.text}" />';
</script>
實質上,可以從JSP填充Javascript對象。不要忘記,腳本和標籤只是作爲HTML/XHTML呈現,所以JS無法與標籤交談,反之亦然。
不是直接。您必須將其設置到某個地方的頁面中。
<script>
var fromJsp = '${theVar}';
</script>
請注意,對於複雜的對象,這可能會變得棘手。也許JSON序列化可以成爲你的朋友。
另請注意,這只是單向的。從JavaScript中設置JSP變量的值是不可能的(因爲在JSP完成其工作後JavaScript運行客戶端)。
注意XSS的含義:String theVar =「hello」; alert(\「XSS \」); //「 –
您可以使用此 -
<input type="hidden" id="var1" value="<%=jspVar%>" />
然後在jQuery的使用VAR1。
假設變量是一個字符串並且不包含」字符 – Quentin
Java/JSP在服務器機器的web服務器上運行並生成HTML/CSS/JS代碼。服務器機器將HTML/CSS/JS代碼發送到客戶機。 HTML/CSS/JS在客戶機的webbrowser中運行。右擊頁面並查看源代碼,您看不到任何Java/JSP代碼。
JSP是一種視圖技術,它提供了一個用於編寫HTML/CSS/JS的模板,並且能夠使用taglibs/EL與後端Java數據交互來控制頁面流和訪問數據。
無論何時您想讓JavaScript訪問Java/JSP變量,您只需編寫一個Java變量就好像它是一個JavaScript變量。
<script>var foo = '${bean.foo}';</script>
是一個很好的例子。請注意,這些引號對於JavaScript本身而言是必需的,而不是JSP/EL。試想一下,${bean.foo}
回報bar
,然後將生成的HTML/CSS/JS其到達客戶端的網頁將最終看起來像:
<script>var foo = 'bar';</script>
每當你想要讓Java/JSP的訪問JavaScript的變量,你需要做的是讓JavaScript激發(XML)HTTP請求。更多的背景信息和示例可以在this article中找到。
第二個示例不要使用JSTL,它被稱爲EL(表達式語言) – BalusC
感謝BalusC ...我正在尋找那個詞....我已經更新了它... –
但EL是JSTL的一部分 - http: //www.jcp.org/aboutJava/communityprocess/first/jsr052(附錄A):) –