有一個jsp輸出一個HTML5頁面。 HTML5有兩個按鈕 - 「添加」和「保存」。 HTML5本地存儲功能用於存儲離線數據。如何將對象列表傳遞給Spring Controller以進行多行插入?
「添加」按鈕單擊時添加一條記錄。因此,如果用戶填充jsp頁面上的字段5次,並單擊「添加」按鈕5次,則將5條記錄添加到HTML5表格中。當點擊「添加」按鈕時,會運行一個將記錄添加到結果集的JavaScript。因此,對於5次點擊,JavaScript結果集包含5個記錄。
單擊「保存」按鈕時,必須將javascript結果集中的所有5條記錄插入Oracle數據庫。爲此,結果集中的記錄列表必須傳遞給Spring控制器。
Spring控制器已經使用batchUpdate api編碼。
public void insertListOfPojos(final List<MyPojo> myPojoList) {
String sql = "INSERT INTO "
+ "MY_TABLE "
+ "(FIELD_1,FIELD_2,FIELD_3) "
+ "VALUES " + "(?,?,?)";
getJdbcTemplate().batchUpdate(sql, new BatchPreparedStatementSetter() {
@Override
public void setValues(PreparedStatement ps, int i)
throws SQLException {
MyPojo myPojo = myPojoList.get(i);
ps.setString(1, myPojo.getField1());
ps.setString(2, myPojo.getField2());
ps.setString(3, myPojo.getField3());
}
@Override
public int getBatchSize() {
return myPojoList.size();
}
});
}
是一個問題 - 你如何通過從JavaScript中的記錄結果集的春天控制器,它提供給控制器的「myPojoList」當「添加」按鈕被點擊?
你如何提交數據?這是一個AJAX調用嗎?是通過Javascript填充的HTML表單嗎? – Pao
這是一個帶有輸入字段的HTML頁面。當用戶在這些字段中輸入值並點擊「添加」按鈕時,HTML頁面中的JavaScript會將這些值插入到HTML5表格中。 – user32262