jsp 转换 JsonArray 元素
jsp to convert JsonArray elements
我正在创建我的数组,它有一个像这样的键值(姓名和电子邮件)并且有一个循环填充如下:
for(x y : model) {
obj_JSONObject1.append(x.getName(), x.getValue());
}
jsonArray.put(obj_JSONObject1);
我的数组如下所示:
[
{
"Email": [
"email1@email.com",
"abc@liferay.com"
],
"Name": [
"name1",
"name2"
]
}
]
但是我在 jsp 的 html table 中显示它们时遇到问题。我试过了:
<c:forEach begin="0" end="${userList.length() -1}" var="i">
<tr>
<td>${userList.getJSONObject(i).get("Name")}
</td>
<td>${userList.getJSONObject(i).get("Email")}
</td>
</tr>
</c:forEach>
table 创建为:
姓名电子邮件
["name1","name2"] ["email1@email.com","abc@liferay.com"]
谁能告诉我如何以表格格式显示记录(值应该在每一行而不是横向?提前致谢!
你需要两个嵌套的 c:forEach
循环,一个迭代外部 userList
数组,另一个迭代内部 Name
和 Email
数组。
<c:forEach begin="0" end="${userList.length() - 1}" var="i">
<c:set var="names" value='${userList.getJSONObject(i).get("Name")}' />
<c:set var="emails" value='${userList.getJSONObject(i).get("Email")}' />
<c:forEach begin="0" end="${names.length() - 1}" var="j">
<tr>
<td>${names.getString(j)}</td>
<td>${emails.getString(j)}</td>
</tr>
</c:forEach>
</c:forEach>
该示例假定 Name
和 Email
数组将始终包含相同数量的项目。如果不是,则需要进行某种错误处理。
我正在创建我的数组,它有一个像这样的键值(姓名和电子邮件)并且有一个循环填充如下:
for(x y : model) {
obj_JSONObject1.append(x.getName(), x.getValue());
}
jsonArray.put(obj_JSONObject1);
我的数组如下所示:
[
{
"Email": [
"email1@email.com",
"abc@liferay.com"
],
"Name": [
"name1",
"name2"
]
}
]
但是我在 jsp 的 html table 中显示它们时遇到问题。我试过了:
<c:forEach begin="0" end="${userList.length() -1}" var="i">
<tr>
<td>${userList.getJSONObject(i).get("Name")}
</td>
<td>${userList.getJSONObject(i).get("Email")}
</td>
</tr>
</c:forEach>
table 创建为:
姓名电子邮件
["name1","name2"] ["email1@email.com","abc@liferay.com"]
谁能告诉我如何以表格格式显示记录(值应该在每一行而不是横向?提前致谢!
你需要两个嵌套的 c:forEach
循环,一个迭代外部 userList
数组,另一个迭代内部 Name
和 Email
数组。
<c:forEach begin="0" end="${userList.length() - 1}" var="i">
<c:set var="names" value='${userList.getJSONObject(i).get("Name")}' />
<c:set var="emails" value='${userList.getJSONObject(i).get("Email")}' />
<c:forEach begin="0" end="${names.length() - 1}" var="j">
<tr>
<td>${names.getString(j)}</td>
<td>${emails.getString(j)}</td>
</tr>
</c:forEach>
</c:forEach>
该示例假定 Name
和 Email
数组将始终包含相同数量的项目。如果不是,则需要进行某种错误处理。