Jsp頁面中通過jstl遍歷 java代碼中通過request.setAttribute("newslist", list);傳過來的list對象,此時的list對象中包含的是一個個的map,每個map中的value又是一個list集合


Jsp頁面中通過jstl遍歷  java代碼中通過
request.setAttribute("newslist", list); 
傳過來的list對象
 
Java代碼片段如下:
Sql語句如下
select * from (select t.* ,c.column_id,d.level_code from cms_article t ,cms_column_article c ,CMS_COLUMN d  where t.id=c.article_id  and c.column_id=d.id and d.LEVEL_CODE like'00070008%' and t.state='已發布' order by t.createtime desc) where rownum <6 
 
在java代碼中通過
List list = jdbcTemplate.queryForList(sql);  獲取List集合,(這里的jdbcTemplate是spring的)
此時list的返回值為如下格式:

[

{ID=100000031133, TITLE=英語作文:The Countryside in Summer, AUTHOR=hulicheng, CREATETIME=2013-04-27 17:23:30.0, STATE=已發布, LIMIT_PUB=null, SUMMARY=Summer has come, with its warm sunny days,

, OUTLINK=null, FORM_ID=100000001504, PD_ID=0, KEYWORDS=英語作文     夏日的農村, INDEX_YN=0, COLUMN_ID=100000001811, LEVEL_CODE=00070008},

{ID=100000031125, TITLE=英語作文:I Love Summer , AUTHOR=hulicheng, CREATETIME=2013-04-27 17:19:18.0, STATE=已發布, LIMIT_PUB=null, SUMMARY=It is true that summer is hot, very hot. , OUTLINK=null, FORM_ID=100000001504, PD_ID=0, KEYWORDS=英語作文    I Love Summer       , INDEX_YN=0, COLUMN_ID=100000001811, LEVEL_CODE=00070008}, 

{ID=100000031109, TITLE=初一英語作文:父親給我的禮物, AUTHOR=yinlulu, CREATETIME=2013-04-12 11:17:16.0, STATE=已發布, LIMIT_PUB=null, SUMMARY=When I was young,my father ,who always taught me how to be a true man,told me that it is essential to be tolerant in your life whatever happens.

, OUTLINK=null, FORM_ID=100000001504, PD_ID=0, KEYWORDS=初一    英語作文   父親給我的禮物, INDEX_YN=0, COLUMN_ID=100000001811, LEVEL_CODE=00070008}
]
在action代碼中有如下代碼
request.setAttribute("newslist", list); 
 
那么jsp中通過jstl遍歷的代碼如下
首先引入<%@ taglib uri="/WEB-INF/tld/c.tld" prefix="c"%> 
 

<c:if test="${not empty newslist }">

    <c:forEach items="${newslist}" var="smart" varStatus="status">

    <li><a href="${pageContext.request.contextPath}/article/getAritcleContent.do?id=${smart['ID']}&columnID=${smart['COLUMN_ID']}&sessionid=${pageContext.session.id}&levelCode=${smart['LEVEL_CODE']}">${smart["TITLE"]}

</a></li>

</c:forEach>

</c:if>

 
Jsp頁面中通過jstl遍歷  java代碼中通過
request.setAttribute("newslist", list); 
傳過來的list對象,此時的list對象中包含的是一個個的map,每個map中的value又是一個list集合
 
Java 代碼:
 

List<String> courses = new ArrayList<String>();

//添加課程編號1~9

List coursesList = new ArrayList();

    for(int i=1;i<10;i++){

       //查詢課程的名稱

       Map map = myCmsArticleBPO.getQuestionAnswerNameMap(i+"");

       //查詢某課程前幾條的數據

       List course = myCmsArticleBPO.getQuestionAnswerMap(i+"");

       Map courseInfo = new HashMap();

       courseInfo.put(map.get("name"),course);

        //向list中添加map對象,鍵是課程名,值是 該課程對應的前幾條問題的list集合

       coursesList.add(courseInfo);

    }

request.setAttribute("aritcleList", coursesList);

 
這個方法要說一下
public Map getQuestionAnswerNameMap(String id) ,
他的方法體是

String sql="select sb.name ,sb.id from sc_subject sb where sb.id='"+id+"'";

Map map=jdbcTemplate.queryForMap(sql);

return map;    

jdbcTemplatespring的東西,這里的queryForMap方法有些意思

這里的map的返回值的數據如下:

{NAME=語文, ID=1}

此時在java代碼中通過map.get("name") 可以獲得 map中name鍵對應的值   語文

在jsp中通過jstl進行遍歷的代碼如下

<!-- aritcleList中存放的是一個個的map,map中的value是list -->

  <c:if test="${not empty aritcleList}">

   <c:forEach items="${aritcleList}" var="temp"> <!—-遍歷list對象aritcleList,變量temp中是一個個的map-->

      <c:forEach items="${temp}" var="map"> <!--${temp}獲取當前map的值,並把值保存到map變量中-->

           <div class="sx_title"><a href="#" class="fright mr15">更多</a>${map.key}</div> <!—key為課程名-->

      <c:if test="${not empty map.value}"> <!—這里的map.value此時為list集合,保存着多條問題的list-->

        <c:forEach items="${map.value}" var="smart" varStatus="status">

            <ul class="sx_list_ul">

           <li><a href="${pageContext.request.contextPath}/article/getQuestionAnswers.do?id=${smart['ID']}&columnID=${columnID }">${smart["questiontile"]}</a></li>

            </ul>

           </c:forEach>

      </c:if>

     </c:forEach>

   </c:forEach>

  </c:if>


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM