Velocity中如何从数组内的Map中获取值
Velocity嵌套循环实现用户事件列表格式化输出
你需要在遍历用户的外层循环内部,嵌套一个遍历该用户事件的内层#foreach循环,同时对事件类型做大写转换,就能实现目标格式。以下是修正后的代码:
#foreach($person in $persArray)## User: $person.userId<br/> #foreach($event in $person.events)## $event.eventType.toUpperCase(): $event.eventTitle<br/> #end## <p></p> #end##
关键说明:
- 嵌套循环逻辑:在外层遍历用户的循环里,直接通过
$person.events获取当前用户的事件数组,用内层#foreach逐个遍历事件对象。 - 事件类型大写处理:使用Velocity字符串方法
toUpperCase()将eventType从小写转为大写,匹配你需要的输出格式。 - 格式调整:去掉原来的
Events: $person.events,直接输出每个事件的具体内容,用<br/>实现换行分隔。
如果之前嵌套循环失败,大概率是以下原因:
- 事件数组的属性名拼写错误(比如写成
event而非events) - 内层循环变量名和外层冲突(比如都用
$item) - 没有正确访问事件对象的属性(比如写成
$event.title而非$event.eventTitle)
内容的提问来源于stack exchange,提问作者Mefiant
相关产品推荐
相关产品推荐

