spring-boot - 如何在 Spring Boot / JSP 中显示一组数组?
问题描述
如果有多个,我想在一个 TD 中显示所有正确答案(绿色),如果有多个,我想在一个 TD 中显示所有错误答案(红色)。无论如何,在控制器或前端我可以实现这一点吗?
使用我当前的代码,这就是我得到的。
控制器
@GetMapping("/quesInAss/{id}")
public String quesInAssessment(@PathVariable("id") Integer id, Model model, HttpSession session) {
Integer insId = (Integer) session.getAttribute("instId");
List<Answers> rlist = new ArrayList<Answers>();
List<Answers> wlist = new ArrayList<Answers>();
Assessments ass = as.getAllByAssInst(id, insId);
model.addAttribute("assName", ass.getAssName());
List<Questions> queslist = qs.getQuesByAssessment(ass);
for (Questions ques : queslist) {
List<Answers> anslist = ansService.getAnswersByQuestion(ques);
for (Answers answer : anslist) {
if (answer.getAnsStatusCode().equals("CORR")) {
rlist.add(answer);
Answers[] array = new Answers[rlist.size()];
array = rlist.toArray(array);
model.addAttribute("rightAnsList", array);
} else {
wlist.add(answer);
Answers[] array = new Answers[wlist.size()];
array = wlist.toArray(array);
model.addAttribute("wrongAnsList", array);
}
}
}
model.addAttribute("queslist", queslist);
return "listOfQuesInAss";
}
JSP
<c:forEach items="${queslist}" var="ques">
<tr>
<td>${ques.quesText}</td>
<c:forEach items="${rightAnsList}" var="rightans">
<c:if test="${rightans.questions.quesId == ques.quesId}">
<td>${rightans.answer}</td>
</c:if>
</c:forEach>
<c:forEach items="${wrongAnsList}" var="wrongans">
<c:if test="${wrongans.questions.quesId == ques.quesId}">
<td>${wrongans.answer}</td>
</c:if>
</c:forEach>
</tr>
</c:forEach>
解决方案
我不确定我是否能正确理解你的问题,试试这个:
<c:forEach items="${queslist}" var="ques">
<tr>
<td>${ques.quesText}</td>
<td>
<c:forEach items="${rightAnsList}" var="rightans" varStatus="status">
<c:if test="${rightans.questions.quesId == ques.quesId}">
${rightans.answer}
</c:if>
<c:if test="${not status.last}">,</c:if>
</c:forEach>
</td>
<td>
<c:forEach items="${wrongAnsList}" var="wrongans" varStatus="status">
<c:if test="${wrongans.questions.quesId == ques.quesId}">
${wrongans.answer}
</c:if>
<c:if test="${not status.last}">,</c:if>
</c:forEach>
</td>
</tr>
</c:forEach>
推荐阅读
- json - 忽略要在 JSON 响应中发送的父对象 - 循环问题 - JPA
- php - 对php的表单操作有时会发送空数据,为什么?#php #curl
- html - 对标签“”中的标签字符的好奇
- swift - 如何在屏幕保护程序处于活动状态时以相同的速度运行基于计时器的应用程序
- javascript - 使用 React 从列表末尾删除用户后重新加载
- python-3.x - 在另一个目录python3中导入一个模块
- ios - 升级到 Monterey macOS 后在所有应用程序上完成 xcode 构建时出现“Runners预期退出”错误
- python - 调用时项目不会增加
- javascript - 这个函数将使用 Ramda 组合做什么
- c++ - 将代码移至类时,Arduino NeoPixel 代码行为异常