input-data가 클릭되면 readForm 함수 실행
$("#input-data").click(function(){
readForm("toDoList", "/toDoList");
})
@Transactional
@RequestMapping(value="/toDoList", produces="text/html;charset=UTF-8")
@ResponseBody
@PostMapping
public String toDoListInsert(@RequestParam Map<String, String> params) throws ParseException{
System.out.println("toDoListInsert");
for (String key : params.keySet()) {
System.out.println(key + " : " + params.get(key));
}
return "success";
}
ajax부터 데이터 가져오는거X
to_do_color는 사용자에게 어떻게 받을 것인지?
👉 <input type:color> 로 받으면 된다!
(2) hidden 처리로 setUpDate form 안에 추가!!
JS에서 today를 html 쪽으로 날려주면 됨
const mainMonth = document.getElementById('main-month');
mainMonth.innerHTML = today.toLocaleString("en-US", {month : "short"});
(3) toDoContent 폼태그에서 serialize 왜 안되는지? ✔
ajax 데이터 읽는 부분에서 data : $(formId).serialize() 이렇게 jquery로 받는데
$("#input-data").click(function(){
readForm("toDoList", "/toDoList");
console.log("input btn is clicked + ajax");
})
toDoList 앞에 #이 빠져서 안된거였다
(4) selectedDate는 어디서 온것인지 확인 ✔
인텔리제이 터미널에 자꾸 selectedDate가 찍혔다
알고보니 calendar 페이지를 로드할 때 작동하는 컨트롤러 syso 안지운것이었다!

(2) CalendarMapper.xml 쿼리 작성 뒤 테스트


성공!
<insert id="inputTodoList" parameterType="hashMap">
INSERT INTO to_do(
to_do_code,
member_code,
to_do_content,
set_up_date,
to_do_state,
to_do_color,
done_date,
plan_date
)
VALUES(
(select IFNULL(MAX(a.to_do_code), 0) + 1 FROM to_do a),
2,
#{toDoContent},
#{setUpDate},
0,
#{toDoColor},
0000-00-00,
#{planDate}
)
</insert>
@Mapper
@Repository
public interface CalendarMapper {
List<Todo> getTodoList(String selectedDate);
void inputTodoList(Map<String, String> params);
}
@Service
@RequiredArgsConstructor
public class CalendarServiceImpl implements CalendarService {
private final CalendarMapper calendarMapper;
@Override
public List<Todo> getTodoList(String selectedDate){
return calendarMapper.getTodoList(selectedDate);
}
@Override
public void inputTodoList(Map<String, String> params) throws ParseException {
calendarMapper.inputTodoList(params);
}
}
import com.project.smallbeginjava11.DTO.Todo;
import java.text.ParseException; import java.util.List; import java.util.Map;
public interface CalendarService {
List
- CalendarController.java
@Transactional
@RequestMapping(value="/toDoList", produces="text/html;charset=UTF-8")
@ResponseBody
@PostMapping
public String toDoListInsert(@RequestParam Map<String, String> params) throws ParseException {
System.out.println("toDoListInsert");
for (String key : params.keySet()) {
System.out.println(key + " : " + params.get(key));
}
calendarService.inputTodoList(params);
return "success";
} ```