前提・実現したいこと
閲覧いただき、ありがとうございます。
Eclipse,Spring,jdbcを使ってJAVAの勉強をしている初心者です。
マスタのコード、名称をjsp側に渡したいのですが、うまくいきません。
どなたかご教示いただけないでしょうか。
jsp側ではセレクトボックス形式でマスタの名称を表示しようとしています。
発生している問題・エラーメッセージ
①list.next()でコンパイルエラーが発生しているのですが、どう修正すべきかわかりません。
エラーメッセージ:メソッドnext()はList<Map<String, Object>>で未定義です。
②List(list)からList(DeparmentList)に項目を転送していますが、もっとスマートなやり方があるのではないか。(どちらのリストもcd,nameのみなので)
該当のソースコード
java
1(Controller.java)★修正前 2 List<Map<String, Object>> list = departmentInfoGet.getDepartmentList(); 3 List<Departrment> departmentList = new ArrayList<>(); 4 5 while (list.next()){ 6 Departrment department = new Departrment(); 7 department.setCd(((Departrment) list).getCd()); 8 department.setName(((Departrment)list).getName()); 9 departmentList.add(department); 10 } 11 12 13 model.addAttribute("departmentList", departmentList); 14
java
1(Controller.java)★修正後 2 List<Map<String, Object>> departmentList = departmentInfoGet.getDepartmentList();
java
1(DepartmentInfoGet.java)★変更なし 2package jp.practice.address; 3 4import java.util.List; 5import java.util.Map; 6 7import org.springframework.jdbc.core.JdbcTemplate; 8import org.springframework.stereotype.Component; 9@Component 10public class DepartmentInfoGet { 11 private JdbcTemplate jdbcTemplate; 12 public DepartmentInfoGet(JdbcTemplate jdbcTemplate) { 13 this.jdbcTemplate = jdbcTemplate; 14 } 15 16 public List<Map<String, Object>> getDepartmentList() { 17 List<Map<String, Object>> list = jdbcTemplate.queryForList("select * from unit02.department order by cd"); 18 return list; 19 }
jsp
1(update.jsp)★修正前 2 <div> 3 <span class="itemName">所属:</span> 4 <form:select path="department"> 5 <form:options items="${departmentList}" itemLabel="name" itemValue="cd"/> 6 </form:select> 7 </div> 8
jsp
1(update.jsp)★修正後 2 <div> 3 <span class="itemName">所属:</span> 4 <form:select path="department"> 5 <c:forEach var="department" items="${departmentList}"> 6 <form:option value="${department.cd}" label="${department.name}" /> 7 </c:forEach> 8 </form:select> 9 </div>
試したこと
model.addAttribute("departmentList", departmentList);を
model.addAttribute("departmentList", list);としてjspに渡したところ、
jsp側の表示がうまく表示されなかった(※)ので、Servlet側を修正しようとしています。
※うまくいかなかった時の事象
リンク内容
回答4件
あなたの回答
tips
プレビュー