簡體   English   中英

如何從jsp訪問列表到Javascript

[英]How to access a List from the jsp to Javascript

我正在嘗試將從Controller傳遞的列表(傳遞給jsp),並將所述列表從jsp傳遞給javascript。

列表中的數據應替換X(日期)和Y的值。

var data = {
    values:[
        { X: "8/7/12",  Y: 21 },
        { X: "8/8/12",  Y: 32 },
        { X: "8/9/12",  Y: 62 },
        { X: "8/10/12", Y: 8  },
        { X: "8/11/12", Y: 40 },
        { X: "8/12/12", Y: 12 },
        { X: "8/13/12", Y: 14 },
        { X: "8/14/12", Y: 72 },
        { X: "8/15/12", Y: 11 },
        { X: "8/16/12", Y: 98 },
    ]};



我希望通過的列表包含以下內容:
1. LocalDate的字符串版本(Jodatime)-用於X軸
2.分數-y軸

我已經在各種在線論壇上根據情況查看並嘗試了幾種解決方案,但是沒有一種能夠按預期的方式工作。 我也嘗試傳遞並行數組,但是它們似乎都不起作用。

您可以簡單地從JSPJavascript執行此操作

var data = { values:[
        { X: <%=x[0]%>, Y: <%=y[0]%> },
        { X: <%=x[1]%>, Y: <%=y[1]%> },
        ...
    ]};

請注意,這里我使用X和Y數組作為值,您可以將任何數據結構用於jsp,然后將其放入javascript。

或者,如果要將數據從controller傳遞給jsp ,則可以使用JSTL遍歷數據並將其傳遞給javascript。

在這種情況下,我更喜歡在控制器中將Java List對象序列化為JSON字符串,然后將該字符串傳遞給jsp。 假設您的列表中包含此類的實例,

public class MyObject {
    protected String X;
    protected int Y;

    // getters, setters, other methods and fields...
}

您可以使用GsonJackson等庫來序列化控制器中的列表。

List<MyObject> list = new ArrayList<MyObject>();
// add some objects to the list...

String json = new Gson().toJson(list);
request.setAttribute("values", json);

在您的jsp中, values請求屬性是一個字符串,代表JSON中的完整javascript對象。

var data = {
    values: ${values}
};

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM