JSTL打印嵌套对象
如何在JSP页面上的地图中打印嵌套对象/属性的值?
那么让我们说Survey有一个名为Questions的属性(这是另一个对象),我想打印那些问题(survey.questions.getId()或survey.questions.getTitle()),那个foreach语句看起来怎么样?
编辑:调查是地图而不是集合
如果您的嵌套属性是单个对象实例,则只需直接引用它,如:
${surveyItem.title}
这假设您有一组Survey
对象绑定到Survey
属性,并且每个Survey
都有一个标题。 它将打印每个调查的标题。
如果您的嵌套属性是对象的集合,那么您使用forEach
循环来迭代它们,就像在您的示例中一样。
${question.title}
这将打印每个Question
的标题,假设您有一个Survey
对象绑定到survey
属性,并且Survey
对象有一个Question
对象的集合作为一个字段(使用适当的getter方法,即getQuestions()
)。
您还可以使用嵌套循环,例如:
${surveyItem.title} ${question.title}
这将打印每个Survey
的标题以及每个Survey
中每个Question
的标题。
如果由于某种原因你决定通过Map
,你可以这样做:
Map Key: ${entry.key} Map Value: ${entry.value} Nested Property: ${entry.value.title} Nested Collection: ${question.title}
如果您的Survey.Question是另一个集合对象,基本上您需要在循环中迭代两次。 例如,
$ or $