2013-02-15 52 views
0

我有一個使用MyEclipse製作的java代碼。 在主要方法中,我有一個輸出是一個數組[10,23,31,45]。 我的問題是我怎樣才能得到這些值在Java腳本數組。 有沒有什麼方法或工具可以通過它在ja​​va腳本中使用我的java對象值來顯示HTML中的內容。如何從java腳本數組中獲得java代碼的價值

謝謝提前。

+2

這是一個有點像問如果你能得到一個片蘋果從香蕉? – adeneo 2013-02-15 15:51:12

+0

Java在服務器上運行,JavaScript在客戶端上運行,所以您需要通過HTTP從服務器注入。我不熟悉Java,但我確定他們提供了一些方法。 – jbabey 2013-02-15 15:52:47

+0

這是一個網絡應用程序嗎?是否要將Java對象值輸出到JSP或相關頁面內的? – NINCOMPOOP 2013-02-15 15:53:25

回答

2

那麼,這取決於你如何創建你的html頁面或通常獲取你的網頁上的數據。在大多數框架中,您可以將數組直接渲染到傳遞給瀏覽器的hmtl源代碼中。

在JSP可能是這樣的:

<script ...> 
    var myarray = <%=Arrays.toString(javaArray)%> <!-- not sure about the formatting though, might have to be altered--> 
</srcipt> 

編輯

澄清:你需要的是你的陣列的字符串表示適合JavaScript和toString()可能不會導致在你需要什麼。在這種情況下,您可以使用JSON庫將對象轉換爲JSON(並因此可以與JavaScript兼容),也可以編寫自己的數組/對象 - >字符串轉換器。

使用與int[] javaArray = {1,2,3};上面的代碼將導致
var myarray = [1, 2, 3];

+0

您將需要將Java文件轉換爲servlet並將其以某種方式包含到JSP頁面中,或者如果主方法的內容不依賴於主方法之外的任何內容,則只需複製並粘貼main方法內容到<% %>標籤之間的JSP頁面。 – cmcculloh 2013-02-15 16:00:19

+0

@cmcculloh對不起,但我沒有得到您的評論。 ;) – Thomas 2013-02-15 17:15:46

+0

這或多或少只是擴展你的答案。你沒有說任何我認爲不正確的東西,我只是想向提問者澄清,他們不能只是拿他們的POJO,並期望它在你的答案中神奇地填充javaArray。 – cmcculloh 2013-02-15 17:27:22

1

如果你想從JVM的java中執行JavaScript的,這可能會有幫助:http://commons.apache.org/bsf/

如果你想輸出java對象JSP中的值,你可以使用EL,腳本,表達式等。

表達:var javascriptArray = <%= javaArray.toString() %>

EL:var javascriptArray = ${javaArray}(介意在這種情況下,格式化)

JSTL:var javascriptArray = [
<c:forEach var="element" items="${javaArray}" varStatus="cursor">
"${element}"
<c:if test="${!cursor.last}">,</c:if>
</c:forEach>
]