一、foreach循环语句
表格循环list示例:
#foreach($m_user in $onlineUsers)
#set($foo = $velocityCount%4)
#if($foo == 1)
<tr>
#end
<td width="25%" align="left" bgcolor="EFFAFE" class="tblue002">
<strong>笔名:</strong>
#if($m_user.hidden)
<a href='/userInfo.do?userNick=#utf8encoding(${m_user.userNick})' target="_blank"><font color="gray">${m_user.userNick}</font></a>
#end
#if(!$m_user.hidden)
<a href='/userInfo.do?userNick=#utf8encoding(${m_user.userNick})' target="_blank">${m_user.userNick}</a>
#end
</td>
#if($foo == 0)
</tr>
#end
#end
(1)在词句中,onlineUsers类型为list的变量
(2)$velocityCount可做为循环下标,从1开始。
(3)此循环做了格式调整,四列表格。
map遍历示例:
首先看一下后台传值的方式:
Map<String,List<Board>> m = new HashMap<String,List<Board>>();
for(Board b:list){
List<Board> subList = boardManager.listAllAuthedBoards(clientUser, b.getId());
m.put(b.getId()+"", subList);
}
model.put("subBoardMap", m);
然后前台vm这样遍历:
#foreach($subBoardId in $!{subBoardMap.keySet()})
<div class="bbs_df_list">
<div class="bbs_df_title"><img src="/images/bbs_2013/df_top_title_$!{subBoardId}.jpg" alt="" border="0" /></div>
<div class="bbs_df_list_c clearfix">
<ul>
#set($subList = ${subBoardMap.get($subBoardId)})
#foreach($childBorad in $!{subList})
<li>
<h3><a href="${cdomain}/board/${childBorad.id}.html" target="_blank">$childBorad.name</a></h3>
<p>主贴 ${childBorad.threadCount} | 跟帖 ${childBorad.repliedCount}</p>
</li>
#end
</ul>
</div>
<div><img src="/images/bbs_2013/df_bottom.jpg" alt="" border="0" /></div>
</div>
#end