ну, у меня был проект, перед которым использован Struts2 + Ibatis (теперь MyBatis), и он был обработан следующим образом , конечно, это не самый эффективный способ сделать это, но он может дать вам такой подход, я был во 2-м уровне карьеры, когда я осуществил это:
для загрузки:
Создать таблицу «Расписание» с «id», «startDate», «endDate» и «description» (необязательно)
Создать таблицу «Курсы» с «id», «name» и «scheduleId»,
вы экономите свое «расписание», как: insert into schedule values (1, '07:40', '08:50', null);
сохранить курс, таким образом: insert into course values('A1','Calculus 1', 1);
Тогда вам просто нужно, чтобы соответствовать их в графике, используя свой обычай «Закон ion ", как" LoadScheduleAction ", выполнив запрос к db с помощью jdbc.
Если вы хотите отметить ячейку часом, например (понедельник, 9:40 - 10:50), то вы можете использовать «divs», а цвет javascript их синий или зеленый, убедитесь, что вы даете каждый div и «id», поэтому вы можете получить выделенную ячейку. Затем, каждый раз, когда вы нажимаете, чтобы выбрать ячейку или щелкните, чтобы отменить выбор ячейки, я имею в виду, если вы нажмете первый раз, тогда она станет цветной, если вы выберете для второй раз ту же ячейку, что она вернется к своему первоначальному статусу, и поэтому на. Ну, каждый раз, когда вы выбираете ячейку, вы можете сохранить координаты в массиве в сеансе (или arraylist или set), например, сеанс может содержать: (понедельник, 9:40 - 10:50), (вторник, 9:40 - 10:50) сохранить его как пользовательский объект внутри на ArrayList в сессии:
ScheduleItem item = new ScheduleItem(day, hourRange);
Затем, каждый раз вы выбираете продать вы получаете:
item1('monday', '9 - 10');
item2('monday, '11 -13');
item3('tuesday, '15-17');
и так далее ...все они, сохранены в arraylist временном в вашей сессии.
ArrayList<ScheduleItem> scheduleItems = new ArrayList<ScheduleItem>();
scheduleItems.add(item1)
... И, наконец, когда вы уже нажать на кнопку «Отправить» или что-то в этом роде, просто извлечь этот список из сеанса и сохраняется его с помощью JDBC в новой таблице, как «studentSchedule» или «teacherSchedule «в зависимости от того, что вам нужно делать.
Это очень простой подход, основанный на том, что я понял с вашим вопросом. Надеюсь, вам это поможет.
С уважением.