有一个输出 HTML5 页面的 jsp。HTML5 有两个按钮——“添加”和“保存”。HTML5 本地存储功能用于存储离线数据。
“添加”按钮在单击时添加一条记录。因此,如果用户在 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 结果集中传递给 Spring 控制器,以便控制器的“myPojoList”可以使用它?