velocity学习杂记

一、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>主贴&nbsp;&nbsp;${childBorad.threadCount}&nbsp;&nbsp;|&nbsp;&nbsp;跟帖&nbsp;&nbsp;${childBorad.repliedCount}</p>
      </li>
      #end
    </ul>
    </div>
    <div><img src="/images/bbs_2013/df_bottom.jpg" alt="" border="0" /></div>
</div>
#end

猜你喜欢

转载自lihuifen2014.iteye.com/blog/2101346