Struts2です。 リストの取得の仕方で困っています。 特定の条件で検索をかけ、jspに表示された結果を一部textfieldで<s:iterator>のリスト表示し、その中身を変更して更新ボタンを押すと、DBのデータを更新する、という流れです。 jspは以下のようになっています。(一部抜粋) <table border="1"> <s:iterator status="st" value="projectList"> <tr> <td><s:checkbox id="isChecked" name="isChecked" /></td> <td><s:property value="projno"/></td> <td><s:textfield id="projname" name="projname" maxlength="24" size="52" /></td> <td><s:select id="deptno" name="deptno" list="departmentList" value="%{deptno}" listKey="deptno" listValue="deptno" /></td> <td><s:textfield id="respemp" name="respemp" maxlength="6" size="12" /></td> <td><s:textfield id="prstaff" name="prstaff" maxlength="6" size="12" /></td> <td><s:textfield id="prstdate" name="prstdate" maxlength="8" size="12" /></td> <td><s:textfield id="prendate" name="prendate" maxlength="8" size="12" /></td> <td><s:textfield id="majproj" name="majproj" maxlength="6" size="12" /></td> </tr> </s:iterator> </table> <s:property value="listSize"/>件 <s:form > <table> <tr> <td><s:textfield label="プロジェクトNo" id="projno" name="projno" size="8" maxlength="6" /></td> </tr> </table> <table> <tr> <s:submit action="search103R" value="一覧検索" onclick="return search_fnc()" /> <s:submit action="modify103R" value="一覧更新" onclick="return modify_fnc()" /> <s:submit action="jumpStruts2" method="jump103R3" value="登録画面" /> <s:property value="replyMsg" /> <s:hidden value="%{projno}" /> </tr> <s:actionerror /> </table> </s:form> javaのロジックは、以下のようになっています。引数に入れられた項目で更新する、という処理です。 // 更新処理 public void modify(String projno, String projname, String deptno, String respemp, String prstaff, String prstdate, String prendate, String majproj) throws SQLException, IOException { // SQLプロパティファイル読み込み sqlConf = DevLearningUtils.loadProperties("sql"); // SQL文 UPDATE PROJECT SET PROJNAME = ?, DEPTNO = ?, RESPEMP = ?, PRSTAFF = ?, PRSTDATE = ?, PRENDATE = ?, MAJPROJ = ? WHERE PROJNO = ? // 更新のSQL文を読み込む statement = conn.prepareStatement(sqlConf.getProperty("ProjectModify")); // 更新項目をSQL文にセット statement.setString(1, projname); statement.setString(2, deptno); statement.setString(3, respemp); // プロジェクト工数が空なら0を入れる if (prstaff.length() == 0) { statement.setString(4, "0"); } else { statement.setString(4, prstaff); } statement.setString(5, FormatUtils.addHyphenToDate(prstdate)); statement.setString(6, FormatUtils.addHyphenToDate(prendate)); statement.setString(7, majproj); statement.setString(8, projno); statement.executeUpdate(); } 色々と調べてみたのですが、iteratorの内容をリストとしてjavaで取得する、という方法がわかりませんでした。ご教示お願いします。
↧