请在标记为重复之前阅读该问题。我有一个列表,我知道如何使用jstl核心标记使用变量值,但我不能做的是如何在我的网页中显示列表元素。到目前为止,我已经尝试了所有内容,并且已经包含了我已经尝试过的内容(问题已被标记为重复,因为我已经尝试过,因此没有我需要的答案)。
我的方法中有这个列表:
for (Instance i : instances) {
ret.add(i);
JSONArray array = new JSONArray(reservation.getInstances());
List<String> list1 = new ArrayList<String>();
for (int o = 0; o < array.length(); o++) {
JSONObject obj = null;
try {
obj = array.getJSONObject(o);
obj.getString("instanceId");
obj.getString("state");
obj3 = list1.add(obj.getString("instanceId"));
obj4 = list1.add(obj.getString("state"));
} catch (JSONException e) {
e.printStackTrace();
}
}
for (int j = 0; j < list1.size(); j++) {
list1.get(j);
result = list1.get(j).toString();
System.out.println(result);
}
}
}
}
System.out.println(list1);
return list1;
}
结果,我只添加实例状态和实例ID。在我的控制台中,输出是正确的(即我希望它如何显示,但是当我尝试这样的事情时:
out.println(DisplayInstance.result);
但在网页中,它没有提供我想要显示的内容
或者这个
request.getSession().setAttribute("obj3", DisplayInstance.obj3);
request.getSession().setAttribute("obj4", DisplayInstance.obj4);
我在这些对象中添加了实例ID和状态, 这在jsp
上 Output Id:
<c:out value="${sessionScope.obj3}"></c:out>
Output State:
<c:out value="${sessionScope.obj4}"></c:out>
但我仍然没有在控制台上获得输出。我还能做什么?
答案 0 :(得分:2)
我在列表list1中添加了JSON对象但是我返回了list ret。我所要做的就是将return语句从return ret更改为return list1并将其添加到我的servlet中:
List<String> inst=null;
try {
DisplayInstance.authentication(accessKey, secretKey);
inst = DisplayInstance.describeAllInstances();
} catch (Exception e)
{
e.printStackTrace();
}
PrintWriter out = response.getWriter();
out.println(inst);
现在工作正常。