2017-06-14 8 views
0

私は以下のコードを持っています。私はcategoryListMapオブジェクトを作成するためにJavaコードですべて行いたいのですが、次にcategoryListに変換します。JavaScript関連配列とJavaリストマップの間の変換方法

... 
    var categoryList = []; 

<% 
    List<Object> modelMaster = psiSearchForm.getModelMaster(); 
    String parentKey = ""; 
    String categoryKey = ""; 
    String text = ""; 

    for (int i = 0; i < modelMaster.size(); i++) { 
     Map option = (Map) modelMaster.get(i); 

     parentKey = (String)option.get(ConstantContainer.MODALITY); 
     categoryKey = (String)option.get(ConstantContainer.CATEGORY); 
     text = categoryKey + ": " + (String)option.get(ConstantContainer.CATEGORY_NAME); 
%> 
     categoryList.push({ 
      parent: "<%=parentKey%>", 
      key: "<%=parentKey%><%=categoryKey%>", 
      text: "<%=text%>" 
     }); 
<% 
    } 
%> 
+0

JSP式は、それは、JavaからJavaScriptを呼び出すのArray.pushを傾けるノリスチャックではありません。チャックノリスだけがその力を持っています。 – karthick

+0

私は、Javaで作成されたリストマップの後、javascriptでforループを使用してcategoryListにプッシュすると意味がありますか? – mikezang

+0

JSONオブジェクトを作成してcategoryListに割り当てることができます – karthick

答えて

0

JSPでJavaScript関数を呼び出そうとしていますが、これはできません。代わりに、JSPで配列を作成し、最終値をjavascriptで設定することができます。

<body> 
<% 

    JSONArray arr = new JSONArray(); 
    for(int i =0; i < 5; i++) { 
     JSONObject object = new JSONObject(); 

     object.put("name", "santa"+i); 
     object.put("mail", "santa"+i+"@email.com"); 

     arr.add(object); 
    } 

%> 
    <script> 
     var obj = <%= arr %>; 

     console.log("JS obj", obj); 
    </script> 
</body> 

私が使用しているライブラリはjson-simple-1.1.1.jarです。

ページのインポート

<%@page import="org.json.simple.JSONObject,org.json.simple.JSONArray"%> 
関連する問題