Множественный выбор Dao Mysql Spring MVC - PullRequest
0 голосов
/ 18 января 2012

Я хочу встроить селектор с возможностью пометить больше элементов. Так что multiple="true". Я использую mysql и Технологию Дао весны. Я получаю значения для выбора из базы данных успешно. Но теперь у меня возникла проблема при вставке выбранных значений в мою базу данных.

Важные таблицы для этого:

desc

Таблица demo.instrumente заполнена такими данными, как guitar, piano и т. Д., А также id. Эти значения (т.е. guitar, piano) отображаются в режиме множественного выбора.

Пользователь может выбрать 2 или 3 инструмента. Поэтому мне нужно добавить следующие инструменты для студентов. Я делаю это с таблицей schueler_instrumente. Каждые student и instrument имеют id. Поэтому мне нужно создать такие данные:

student_id 1 and instrument_id 2
student_id 1 and instrument_id 5

Вот мой код для класса модели прибора:

public class Instrumente {

  private Integer instrumentid;
  private String instrumentname;

  //...getters and setters
}

Этот код является частью моего контроллера:

@RequestMapping(method = RequestMethod.GET)
public String showUserForm(ModelMap model) {
  model.put("instrumentListe", schuelerManager.getinstrumente());
  return "usercenter";
}

А вот соответствующая часть моего schuelerManager

public Map<String, String> getinstrumente() {
  Map<String,String> result = new LinkedHashMap<String,String>();
  for (Instrumente instrument : instrumentDao.getInstrumente()) {
    result.put(instrument.getInstrumentid().toString(),
               instrument.getInstrumentname());
  }
  return result;
}

А вот как я получаю данные из моей базы данных:

public  List<Instrumente> getInstrumente() {

  return getJdbcTemplate().query("SELECT * FROM instrumente",
                                 new RowMapper<Instrumente>() {
                                   public Instrumente mapRow(ResultSet rs,
                                                             int rowNum)
                                     throws SQLException {
                                     Instrumente instrument = new Instrumente();
                                     instrument.setInstrumentid
                                       (rs.getInt("Instrument_ID"));
                                     instrument.setInstrumentname
                                       (rs.getString("Instrumentenbezeichnung"));
                                     return instrument;
                                   }
                                 });
}

Теперь я знаю, что мне нужно сделать, чтобы получить выбранные значения из списка выбора. Что мне нужно написать на path="?" в jsp.

Я думаю, что могу получить список значений обратно, но как мне вставить этот список в мою таблицу schueler_instrument. Мне нужно было сделать какое-то время или повторить и сделать вставку каждый раз? Я не могу найти хороший пример в Интернете. Я надеюсь, что кто-то может показать мне, как это сделать, возможно, с помощью фрагментов кода.

1 Ответ

0 голосов
/ 19 января 2012

В showUserForm() вашего контроллера вы правильно добавляете свою дату к ModelMap (или вы можете использовать его аналог Java-5 Модель ).Теперь вам нужно будет использовать теги формы Spring в своем представлении для представления опций в выпадающем списке / списке и получать onSubmit обратно в свой контроллер результаты, которые вы в дальнейшем сохраните в своей БД.

Смотрите полный пример здесь .

Что-то, что не показано в этом примере, и я предлагаю вам взглянуть на аннотацию @ModelAttribute, которая является хорошим способомдля передачи объектов и значений между вашим контроллером и вашим представлением JSP.Для примера посмотрите в этот учебник.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...