做的功能是在jsp页面,有一个list,如果页面中的某个值与list中的值相等,就怎样怎样,如果不相等就怎样怎样
开始用的是JSTL的fn:contains函数。
没注意,测试后发现,这个函数是“包含”,而不是equals相等
假如我的list中有一个数是21,我页面中有1,21,31,那么就会把1和21都选中。因为21包含了1。而我想做的是list中是21就只处理页面上为21的那个。
于是就用c:forEach替换。
if语句替换如下:
处理要显示的内容
${item.name }
c:forEach var="exist" items="${existedWidgetId }" begin="0" end="${fn:length(existedWidgetId)}">
处理要显示的内容
为什么我要用一个c:set呢?
是因为不用直接循环设值的话,你会发现页面这段代码循环了好几次,因为你每次foreach都要出一个结果。
所以用c:set,设置一个值来当作flag。
JSTL是没有break函数的。所以也不能跳出循环。