如图,页面中有n个商品列表需要加载,这个列表的名字分别是list1、list2…listn,总之不是写死的。
在Ctroller里面,可见参数名师动态生成的:
@RequestMapping(method = RequestMethod.GET)
public String showIndex(Model model){for(int i=0;i<10;i++){List<GoodsEntity> result = new ArrayList<GoodsEntity>();//TODO: 从数据库里去除结果model.add("list"+i,result );}
}
所以在jsp页面里,首先,动态生成EL表达式的key,然后set到name变量里面:
<c:set var="name" value="goodslist${ item.classNo}" />
然后就可以:
${ requestScope[name] }
这样取出来的就是key为 goodslistXXX 的列表了。
参考:
1. Java EE 6 tutorial - Examples of EL expressions
2. stackoverflow EL wiki