springframework ajax DB data 화면 출력
- 작성자 :
- 멋**자
- 작성일 :
- 2023-03-13 12:35:03
- 조회수 :
- 654
- 구분 :
- 적용지원(기술지원)
- 진행상태 :
- 완료
Q
작업 하려고 하는 사항은 제목에 적었듯이 mapper sql.xml에 간단한 쿼리 결과 값을 화면에 표출해주고 싶습니다.
input tag 에 특정 단어를 적으면 데이터베이스에서 검색해서 데이터 출력 되는 건 이클립스 콘솔로그 창에서 확인했습니다.
그런데 그 값만 가져오고 싶은데 그 값이 'testList' 이 변수 인데 아래 코드 처럼 되어있어서
저렇게 controller 에서 admin_test.jsp 로 리턴을 해주고 있습니다.
그런데 admin_test.jsp 에서 참고하고 있는 js 소스 ajax 에서는 저 맨 아래 admin_test.jsp 의 전체 html 파일을 data로 받아오고 있습니다 input 박스에 단어 넣고 엔터 치면 화면에 바로 적용 되는 것도 아니고요 원래 이렇게 되는게(하는게) 맞는 건가요?
받아오는 전체 html에는 아래 처럼 코드를 작성해놔서 데이터를 불러오긴 합니다. {testId=test, testNm=테스트} 이렇게요 ( testId, testNm 이 컬럼명도 데이터베이스의 컬럼 명은 아니라서 이상하긴 하지만요)
작업 해본 내용
1. ajax data 에서 전체 html을 받아오는 데이터 에서 testList 값만 추출하는 작업을 하고 있는데 잘 안되네요
- 이렇게 맞는 건가요 ? 파싱 하기도 힘들고요 파싱은 또 어떻게 하나요? string or str 로 데이터 형이 되어있습니다.
2. controller 에서 testList 값만 리턴하면 ajax 에서 "/selectTest.do" 이주소를 못찾았다고 404 에러나고 있고요
html 의 작성 코드 예시 아래
<div class="testList" id="testListId">${testList[0]}</div>
controller code 아래
@RequestMapping(value = "/selectTest.do")
public String selectTest(@RequestParam Map<String, Object> param, ModelMap model) throws Exception{
EgovMap test1List= new EgovMap();
LOGGER.info("#========== CALL test selectTest.do 2============#");
List<?> codList = adminService.selectUsrList(param);
LOGGER.info("#========== CALL test selectTest.do 3============#");
model.put("param", param);
model.put("test1List", test1List);
model.put("testList", testList);
return "ccms/admin/admin_test";
작업 하려고하는 사항에 대해서 전체적으로 이렇게 하는게 맞는지와 방법좀 알려주세요~
input tag 에 특정 단어를 적으면 데이터베이스에서 검색해서 데이터 출력 되는 건 이클립스 콘솔로그 창에서 확인했습니다.
그런데 그 값만 가져오고 싶은데 그 값이 'testList' 이 변수 인데 아래 코드 처럼 되어있어서
저렇게 controller 에서 admin_test.jsp 로 리턴을 해주고 있습니다.
그런데 admin_test.jsp 에서 참고하고 있는 js 소스 ajax 에서는 저 맨 아래 admin_test.jsp 의 전체 html 파일을 data로 받아오고 있습니다 input 박스에 단어 넣고 엔터 치면 화면에 바로 적용 되는 것도 아니고요 원래 이렇게 되는게(하는게) 맞는 건가요?
받아오는 전체 html에는 아래 처럼 코드를 작성해놔서 데이터를 불러오긴 합니다. {testId=test, testNm=테스트} 이렇게요 ( testId, testNm 이 컬럼명도 데이터베이스의 컬럼 명은 아니라서 이상하긴 하지만요)
작업 해본 내용
1. ajax data 에서 전체 html을 받아오는 데이터 에서 testList 값만 추출하는 작업을 하고 있는데 잘 안되네요
- 이렇게 맞는 건가요 ? 파싱 하기도 힘들고요 파싱은 또 어떻게 하나요? string or str 로 데이터 형이 되어있습니다.
2. controller 에서 testList 값만 리턴하면 ajax 에서 "/selectTest.do" 이주소를 못찾았다고 404 에러나고 있고요
html 의 작성 코드 예시 아래
<div class="testList" id="testListId">${testList[0]}</div>
controller code 아래
@RequestMapping(value = "/selectTest.do")
public String selectTest(@RequestParam Map<String, Object> param, ModelMap model) throws Exception{
EgovMap test1List= new EgovMap();
LOGGER.info("#========== CALL test selectTest.do 2============#");
List<?> codList = adminService.selectUsrList(param);
LOGGER.info("#========== CALL test selectTest.do 3============#");
model.put("param", param);
model.put("test1List", test1List);
model.put("testList", testList);
return "ccms/admin/admin_test";
작업 하려고하는 사항에 대해서 전체적으로 이렇게 하는게 맞는지와 방법좀 알려주세요~
환경정보
-
- OS 정보 : window
- 표준프레임워크 버전 : 4.0
- JDK(JRE) 정보 : 11.0.13
- WAS 정보 : tomcat
- DB 정보 : postgresql
- 기타 환경 정보 :
A
안녕하세요.
표준프레임워크 센터입니다.
List 형태로 가져온 데이터에 대해
한 인덱스에 대한 항목만 출력을 원하신다는 것으로 파악됩니다.
한 항목 출력의 경우
Controller 단에서 원하시는 데이터를 추출하여
Model에 담아 전달하시거나
Ajax를 통해 가져온 list에서
원하시는 요소를 선택하여 출력할 수 있습니다.
관련 내용에 대해서는
온라인 상에 많은 자료가 공개되어 있으니
참고해 주시기 바랍니다.
감사합니다.
표준프레임워크 센터입니다.
List 형태로 가져온 데이터에 대해
한 인덱스에 대한 항목만 출력을 원하신다는 것으로 파악됩니다.
한 항목 출력의 경우
Controller 단에서 원하시는 데이터를 추출하여
Model에 담아 전달하시거나
Ajax를 통해 가져온 list에서
원하시는 요소를 선택하여 출력할 수 있습니다.
관련 내용에 대해서는
온라인 상에 많은 자료가 공개되어 있으니
참고해 주시기 바랍니다.
감사합니다.