我有两个表调用maintab,subtab用于生成菜单栏。
maintab has
maitabId ,main_tab_name
subtab has:
sub_tb_ID ,main_tb_id,subtab_name ,Url
我想得到两个列表containsig list1 = maintabid& maintabname
list2=subtabname,maintabID & url
我想使用spring mvc返回两个列表。并在jsp页面中检索以填充菜单。请给我一个控制器类和jsp的代码:我使用hibernate和tile到这个样本。
我累了
public String listmaintabAndsubtabs(Map<String, Object> map) {
map.put("maintab", new maintab());
map.put("maintabList", contactService.listmaintab());
return "maintab";
}
如何通过一种方法返回子标签和主标签......
答案 0 :(得分:2)
为什么你只想返回一个列表,而是使用map。
在您的控制器中,您可以使用
Map mp = new HashMap();
mp.put("list1", lst1);
mp.put("list2", lst2);
return mp;
在你的jsp中,你可以迭代地图,
for (Map.Entry<> entry : mp.entrySet()) {
String listKey = entry.getKey();
List<> childLst = entry.getValue();
}
编辑:
一旦有了两个列表,就可以用多种方式迭代它们,
你可以使用
for(X obj:childLst){// X表示列表包含的对象类 的System.out.println(OBJ); }
你也可以使用迭代器遍历列表。
答案 1 :(得分:1)
这样做的一种方法是拥有一个dto。 Dto模式是指您的数据不适合您的方法。 所以你可以拥有这样的课程
awk -F= 'NR == FNR{a[$1] = $2; next} {print a[$1]}' file2 file1
LONDON
LONDON
LONDON
TOKYO
TOKYO
TOKYO
TOKYO
WASHINGTON DC
WASHINGTON DC
WASHINGTON DC
然后你在控制器中的方法可以传递一个MenuDto的实例。