如果您的嵌套属性是单个对象实例,您只需直接引用它,例如:
<c:forEach var="surveyItem" items="${surveys}">
${surveyItem.title} <!-- You can use the c:out if you really want to -->
</c:forEach>
假设您有一个绑定到surveys 属性的Survey 对象集合,并且每个Survey 都有一个标题。它将打印每个调查的标题。
如果您的嵌套属性是对象的集合,那么您可以使用 forEach 循环来迭代它们,就像在您的示例中一样。
<c:forEach var="question" items="${survey.questions}">
${question.title}
</c:forEach>
这将打印每个Question 的标题,假设您有一个绑定到survey 属性的Survey 对象,并且Survey 对象具有Question 对象的集合作为字段(使用适当的 getter 方法,即getQuestions())。
你也可以有嵌套循环,比如:
<c:forEach var="surveyItem" items="${surveys}">
${surveyItem.title}
<c:forEach var="question" items="${surveyItem.questions}">
${question.title}
</c:forEach>
</c:forEach>
这将打印每个Survey 的标题以及每个Survey 中每个Question 的标题。
如果出于某种原因您决定传递Map,您可以这样做:
<c:forEach var="entry" items="${surveyMap}">
Map Key: ${entry.key}
Map Value: ${entry.value}
Nested Property: ${entry.value.title}
Nested Collection:
<c:forEach var="question" items="${entry.value.questions}">
${question.title}
</c:forEach>
</c:forEach>