在jsp中需要通過由于一些原因需要處理后臺傳來的一個(gè)數(shù)據(jù)。 是一個(gè)List,List中包含幾個(gè)map,而這個(gè)map還不是存入的是一個(gè)對象,而是類似選擇題的一樣A,B,C,D的鍵值對, 而我想得到的效果如下圖:

在jsp中的foreach是不像java里面的for可以控制循環(huán)的,假設(shè)你像平時(shí)一樣使用三層for循環(huán),那么此時(shí)你的結(jié)果肯定是你想不到的
其平常結(jié)構(gòu)是<foreach> 循環(huán)輸出題目 <foreach> 這里遍歷一個(gè)List,取出里面的map <foreach>輸出選擇題的四個(gè)選項(xiàng) </foreach> </foreach></foreach>假設(shè)你是這樣寫的而不加任何參數(shù)那么很可能你顯示的結(jié)果會是如下圖:

那么怎樣處理呢,這是時(shí)候就要用到foreach標(biāo)簽的begin和end屬性了, begin:指定從第幾個(gè)元素開始 end:指定從第幾個(gè)元素結(jié)束 那么此時(shí)就好辦了,在第一個(gè)foreach標(biāo)簽里面定義一個(gè)變量,因?yàn)樽钔鈱觙oreach是控制輸出題目數(shù)量的,也就是最好的定義的 那么后面修改代碼為
<foreach varStatus="index"> 循環(huán)輸出題目<c:set val="indexs" value="${index.count}"/> <foreach begin="${indexs-1}" end="${indexs-1}">//即表示每次只讓你找出一個(gè)map 這里遍歷一個(gè)List,取出里面的map <foreach>輸出選擇題的四個(gè)選項(xiàng) </foreach> </foreach></foreach>后來便可以得到想要的額結(jié)果了
新聞熱點(diǎn)
疑難解答