• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

조회에서 문의 드립니다.

23.03.19 20:29 작성 23.03.19 23:22 수정 조회수 337

0

 menu_search에서

일부 조회가 되지 않아 문의드립니다.

현재 시작 기한을 넣고 end_date의 값을 넣고 kind 정보를 통한 조회를 하면 조회가 되지만, 텍스트 박스를 통한 조회와 기본 전체 조회가 이루어지지 않고, 영상과는 다르게 조회 후 start_date와 end_date의 설정이 풀리는 문제로 문의드립니다. 반환은 return "views/menu/menu" 입니다.

 등록기간 풀림증상.png

 

답변 3

·

답변을 작성해보세요.

1

안녕하세요.
해당 내용은 컨트롤러, 스크립트 부분에 오류가 있는것 같습니다.
소스를 저에게 보내주시면 제가 오류부분 체크해 보겠습니다.
good.dhkim@gmail.com

0

https://github.com/wordviceai/saliingV0

일단 application.yml 파일 확인해 주시고요.

application.yml 파일의 경우 db 연동이 되지 않습니다.

그래서 지금까지 application.properties 파일로 연동한 상황입니다.

두 번째로 현재 중요하게 생각하고 있는 문제 startDate, endDate의 풀림 현상과 textbox를 통한 조회가 안되는 현상에 관해 문의드립니다.

메일의 첨부파일이 들어오지 않았다고 하셔서 깃허브에 올렸습니다.

조회풀림현상.png조회풀림현상2.pngtextbox를 통한 조회내용은 검색이 이루어지지 않아 스크린샷을 첨부하지 않았습니다.

안녕하세요.
위 github url 에 접근이 되지 않습니다.
확인 하시고 다시 url 올려주시면 제가 소스 확인해보겠습니다.

뭐죠? 정말 로그인 상태에서는 문제가 없는데 로그아웃하고 페이지를 보면 404가 뜨네요.

아 상상도 못했는데,...

리포지토리 만들 때 분명 public 기본 상태에서 건들지 않고 생성했는데, vscode push 하면서 변환된 것 같아요..

죄송합니다.

아.. 뭐 이런 말도 안 되는 상황이..;;

지금 확인하고 public으로 전환시켰습니다.

번거롭게 해드려 죄송합니다.

정말 private 상상도 못했어요.

안녕하세요.
소스를 받아서 몇가지 체크해 보았습니다.
여러가지 스스로 공부하면서 하시는것 같습니다.
-----------------

1. 우선 Db 연결은 제가 환경값만 바꿔서 했을때 오류가 발생하지는 않습니다.
------------------

2. 년도 부분에서 발생하는 오류
년도가 풀리는게 아닌 스크립트 오류가 발생합니다.
<input type="date" id="start_date" name="start_date" min="2000-01-01" max="2023-12-31">&nbsp;~ <input type="date" id="end_date" name="end_date" min="2000-01-01" max="2023-12-31">
위 부분에 id="start_date" , id="end_date" 가 빠져 있습니다.

아래 스크립트는 id 를 찾기때문에 id 를 추가해 주셔야 합니다.
document.getElementById("start_date").value = time7.toISOString().slice(0, 10); document.getElementById("end_date").value = new Date().toISOString().slice(0, 10);

3.종류 All -> ALL
<label>종류</label> <select name="kind" id="kind"> <option value="All">전체</option> <option value="커피">커피</option> <option value="논커피">논커피</option> <option value="에이드">에이드</option> </select>

sqlmapper 에서
<if test="strKind != 'ALL'"> AND kind = #{strKind} </if>
ALL 이기 때문에 위에서도 동일하게 ALL 로 값을 줘야 합니다.

4. 전체적으로 현재 소스에서 실행해보니 오류가 발생합니다.
이유는 경로에 있습니다.
prefix: classpath:/templates 로 환경 설정을 했기 때문에
view 호출되는 모든 부분에 / 를 넣어줘야 합니다.

return "views/member/member";
-> return "/views/member/member";

이 부분은
<th:block th:replace="/include/topFragment :: topFragment"></th:block> <th:block th:replace="/include/headerFragment :: headerFragment"></th:block> <th:block th:replace="/include/menuFragment :: menuFragment"></th:block> <th:block th:replace="/include/searchFragment :: searchFragment"></th:block>

여기에서도 동일하게 /include 이렇게 소스가 되어야 합니다.

-------

image


답변 주셔서 감사합니다.

아 jQuery에서 id를 사용한다는 말씀에 코드를 보고 생각을 전혀 하지 못하고 있었습니다.

좀 더 집중했더라면 날짜에 관련된 문제를 찾을 수 있었는데 스크립트에 관한 지식이 전혀 없어 ElementById를 보고도 오타 찾는 것에만 집중해서 부득이하게 질문을 올렸네요.

그리고 반환의 경로에 문제가 있는 것도 답변 주셔서 알았습니다.

사실 static과 views의 경로를 쓰지 않고/ 처리를 해도 바로 인식해서 ./ 와 "", ../ 와 /의 차이인 줄 로만 생각하고 있었습니다.

실제로 스크립트 부분을 제외하고 연결이 되어 views의 경로 의미가 어떤 의미가 있는지도 의문스럽기도 했습니다.

좋은 가르침 주셔서 감사합니다.

 

그런데 mariaDB의 application.yml 파일이 연동이 되나요?

사실 저는 연동이 되지 않아 이부분도 문의 드린 부분입니다.

aaa@aaa.net와 같은 문제는 비밀번호에 관련된 문제라고 하셨잖아요. 사실 제가 경험하고 있는 문제가 application.yml 파일에서 나오고 있습니다. 원인을 몰라서 지금은 거의 포기 상태인데, 아마도 mariaDB의 버전 차이 때문인지 의문만 듭니다.

안녕하세요.

디비 연동 관련해서 application.properties 파일도 깃헙에 올려주시면 야믈과 비교해서 어떤 현상인지 체크해볼게요.

properties 에서 된다는건 디비 연결자체에 문제가 있는건 아닌듯 합니다.

0

메일 보내드립니다.

 

메일을 못받았는데, 다시 한번 부탁 드려요.
받는대로 확인해 보겠습니다.

저 메일을 보내드렸는데 소식이 없어서 글남깁니다.

메일 다시한번 보내 주시겠어요.

제가 메일을 받지 못했습니다.

댓글 보고 어제도 다시 보내드렸는데 이메일 전송에 문제가 있나 봐요.

올려주신 메일 주소를 복사해서 보내드렸는데 저 주소 맞나요?

일단 지금 컴퓨터 포맷 준비 중이라, 백업 끝마치면 포맷 후 다시 메일 보내드리겠습니다.

메일 주소는 맞는데, 이상하네요.

good.dhkim@gmail.com 맞습니다.

다시 보내주시면 확인해 볼게요

아 지금 메일을 보내는데 Gmail 보안정책상 압축파일을 보내지 못하네요. 이거때문에 구글드라이브를 이용해도 계속 문제가 발생을 하는데 스크린샷으로 찍어서 올려야할까요?

아 맞아요. 구글 메일에 그런 문제가 있더라구요.
스크립트 오류는 단편적인 소스만 봐서는 확인이 좀 어렵습니다.

구글드라이브에는 올릴 수 있을건데요 ??
올리시고 링크를 메일로 보내주시면 제가 다운가능하지 않을까 생각되네요.

아니면 다른 메일로 보내주시겠어요.
david73@hanmail.net 으로 주시면 확인해 보겠습니다.

안녕하세요.

네이버 메일로 파일 보내드렸습니다.

hanmail 로 메일은 왔는데, 첨부가 안된것 같아요.

첨부해주시면 주말에 확인해 드릴게요

메일 보내드렸어요.

안녕하세요.
이번에도 첨부가 오지 않았어요.
메일 회신했는데 확인해 주세요.