Hi, for some reasons I am trying to translate the following RoR view code to a Java Groovy view:
<% 
modulo_artists = @artists.length % 3
base = @artists.length / 3
base = base.ceil
case modulo_artists
  when 0
    cols = [base, base, base]
  when 1
    cols = [base, base + 1, base]
  when 2
    cols = [base + 1, base, base + 1]
end
counter = 0
%>
<% id_hash = {"0" => "url('/images/actorsbg.png');", "1" => "url('/images/musiciansbg.png');", "2" => "url('/images/artistsbg.png') no-repeat; color: #FFF;", "3" => "url('/images/fashionbg.png')"} %>
<div id="artists_<%=params[:artist_cat]%>" style="background: <%= id_hash[params[:artist_cat]] %>;" >
    <table border="0" width="660" height="164" cellpadding="0" cellspacing="0">
        <tr valign="middle">
        <% 3.times do |i| %>
            <td width="220" align="center" style="padding-right: 15px;">
            <% cols[i].times do %>
                <h1><a href="/artists/show/<%= @artists[counter].urlname %>" ><%= @artists[counter].name %></a></h1>
                <% counter = counter + 1 %>
            <% end %>
            </td>
        <% end %>
        </tr>
    </table>
</div>
This is what I got so far:
#{extends 'main.html' /}
%{
modulo_artists = artists.size() % 3
base = artists.size() / 3
base = Math.ceil(base)
if(modulo_artists == 0)
    cols = [base, base, base]
else if(modulo_artists == 1)
    cols = [base, base + 1, base]
else if(modulo_artists == 2)
    cols = [base + 1, base, base + 1]
endif
counter = 0
}%
<div id="artists_${artist_cat}" style="background:${id_hash};" >
    <table border="0" width="660" height="164" cellpadding="0" cellspacing="0">
        <tr valign="middle">
        #{list items:1..3, as:'i'}
                <td width="220" align="center" style="padding-right: 15px;">
                #{list items:cols[i]}
                        <h1><a href="@{Artists.show(artists.get(counter).name.replaceAll(" ", "-"))}" >${artists.get(counter).name}</a></h1>
                        %{ counter = counter + 1 }%
                #{/list}
                </td>
        #{/list}
        </tr>
    </table>
</div>
The idea is to keep the items organised in 3 columns like 1|0|1 4|5|4 or 5|4|5 for example