プログラミング初心者で色々と悩んでおります。
ご教授願います。
まず、MySQLにString型で"1,2,3"のように値が入っており、
それをcandidateAreaに格納しています。
そしてそれをsplitでカンマ毎に分けて、
それぞれに対応したDAOのSELECT文を繰り返し抽出します。
SELECTされたデータをJSPのforEach文で繰り返し処理して表示したいのですが、
最後にSELECTされたデータだけしか表示されないので困っています。
説明が下手、かつ初歩的な質問で申し訳ございません。
何卒よろしく御願い致します。
下記にJAVAのソースコードとJSPの表示ページを記載致します。
他に記載した方がいいものがございましたら、
おっしゃってください。
lang
1int myPairId = (int)ses.getAttribute("MY_PAIR_ID"); 2 // 候補条件を抽出 3 dao.connect(); 4 request.setAttribute("candidateValue", dao.selectCandidate(myPairId)); 5 JavaBeans candidate = (JavaBeans)request.getAttribute("candidateValue"); 6 String candidateArea = candidate.getCan_area(); 7 int canAgeMax = candidate.getCan_age_max(); 8 int canAgeMin = candidate.getCan_age_min(); 9 int canTreat = candidate.getCan_treat(); 10 String[] str = candidateArea.split("," , 0); 11 for(int i = 0; i < str.length; i++){ 12 if(canAgeMax == 50){ 13 ses.setAttribute("pair_today", dao.select50pair(myPairId, str[i], canTreat, canAgeMin)); 14 } 15 else if(canAgeMin >= 18 && canAgeMax <= 49){ 16 ses.setAttribute("pair_today", dao.selectPair18to50(myPairId, canAgeMax, canAgeMin, str[i], canTreat)); 17 } 18 }
lang
1<table border="2"> 2<tr><th>写真</th><th>写真</th><th>名前</th><th>歳</th><th>名前</th><th>歳</th><th>お店</th></tr> 3<c:forEach var="beans" items="${ sessionScope.pair_today }"> 4 <tr> 5 <td>${ beans.photo1 }</td> 6 <td>${ beans.photo2 }</td> 7 <td>${ beans.name1 }</td> 8 <td>${ beans.age1 }</td> 9 <td>${ beans.name2 }</td> 10 <td>${ beans.age2 }</td> 11 <td>${ beans.shop }</td> 12 </tr> 13</c:forEach>
回答1件
あなたの回答
tips
プレビュー