RoR视图到Java的转换
出于某些原因,我试图将以下RoR视图代码转换为GSP视图:RoR视图到Java的转换,java,ruby-on-rails,groovy,Java,Ruby On Rails,Groovy,出于某些原因,我试图将以下RoR视图代码转换为GSP视图: 列出对象包含我要在3列中显示的数据 <% modulo_objects = @objects.length % 3 base = @objects.length / 3 base = base.ceil case modulo_objects when 0 cols = [base, base, base] when 1 cols = [base, base + 1, base] when 2 cols = [
列出对象
包含我要在3列中显示的数据
<%
modulo_objects = @objects.length % 3
base = @objects.length / 3
base = base.ceil
case modulo_objects
when 0
cols = [base, base, base]
when 1
cols = [base, base + 1, base]
when 2
cols = [base + 1, base, base + 1]
end
counter = 0
%>
<% 3.times do |i| %>
<td width="220" align="center" style="padding-right: 15px;">
<% cols[i].times do %>
<h1><a href="/objects/show/<%= @objects[counter].urlname %>" ><%= @objects[counter].name %></a></h1>
<% counter = counter + 1 %>
<% end %>
</td>
<% end %>
到目前为止,我得到的是:
#{extends 'main.html' /}
%{
modulo_objects = objects.size() % 3
base = objects.size() / 3
base = Math.ceil(base)
if(modulo_objects == 0)
cols = [base, base, base]
else if(modulo_objects == 1)
cols = [base, base + 1, base]
else if(modulo_objects == 2)
cols = [base + 1, base, base + 1]
endif
counter = 0
}%
#{list items:1..3, as:'i'}
<td width="220" align="center" style="padding-right: 15px;">
#{list items:cols[i]}
<a href="@{Objects.show(objects.get(counter).name.replaceAll(" ", "-"))}" >${objects.get(counter).name}</a>
%{ counter = counter + 1 }%
#{/list}
</td>
#{/list}
#{扩展'main.html'/}
%{
modulo_objects=objects.size()%3
base=objects.size()/3
base=Math.ceil(base)
if(模_对象==0)
cols=[base,base,base]
else if(模_对象==1)
cols=[基本,基本+1,基本]
else if(模_对象==2)
cols=[base+1,base,base+1]
恩迪夫
计数器=0
}%
#{列出项目:1..3,如:'i'}
#{列表项:cols[i]}
%{计数器=计数器+1}%
#{/list}
#{/list}
其想法是将项目组织在3列中,例如1 | 0 | 1 4 | 5 | 4或5 | 4 | 5,
我真的不明白#{list items:cols[I]}
是否会复制ruby的cols[I]
到目前为止,Java视图显示的元素不超过两个。只是一条注释(抱歉,您没有权限):
我确实认为html上面的代码应该放在控制器上,因为这种编码风格使MVC框架无效:p只是说public static List[]splitIn(List objects,int i){
public static List<Object>[] splitIn(List<Object> objects, int i) {
int base_objects = objects.size() / i;
int modulo_objects = objects.size() % i;
int[] colSize = new int[i];
switch (modulo_objects) {
case 0:
colSize[0] = base_objects;
colSize[1] = base_objects;
colSize[2] = base_objects;
break;
case 1:
colSize[0] = base_objects;
colSize[1] = base_objects + 1;
colSize[2] = base_objects;
break;
case 2:
colSize[0] = base_objects + 1;
colSize[1] = base_objects;
colSize[2] = base_objects + 1;
break;
}
List<Object>[] columns = new List[i];
int count = 0;
for (int x = 0; x < i; x++) {
List<Object> col_objects = new ArrayList();
int colCount = 0;
while (colCount < colSize[x]) {
Object Object = (Object) objects.get(count);
col_objects.add(Object);
colCount++;
count++;
}
columns[x] = col_objects;
}
return columns;
}
#{list cols, as:'column'}
<td width="220" align="center" style="padding-right: 15px;">
#{list column, as:'object'}
<h1><a href="@{Objects.show(object.urlName())}" >${object.name}</a></h1>
#{/list}
</td>
#{/list}
int base_objects=objects.size()/i;
int modulo_objects=objects.size()%i;
int[]colSize=新的int[i];
开关(模对象){
案例0:
colSize[0]=基本对象;
colSize[1]=基本对象;
colSize[2]=基本对象;
打破
案例1:
colSize[0]=基本对象;
colSize[1]=基本对象+1;
colSize[2]=基本对象;
打破
案例2:
colSize[0]=基本对象+1;
colSize[1]=基本对象;
colSize[2]=基本对象+1;
打破
}
列表[]列=新列表[i];
整数计数=0;
对于(int x=0;x
Hi mnml。你需要说问题出在哪里。你刚刚说了你在做什么。有些东西不起作用了吗?亚马逊的机械土耳其人不是更适合这个任务的地方吗?