스프링(egov) 26

21. 체크된 값에 해당하는 열만 웹에 보여주기

구구단 처럼 이중for문을 이용하면 되는데 위와같이 이중 for문을 하면 기존에 나오던 (모든 리스트) x (내가체크한값) 에 해당하는 모든 값이 나와 엄청난 값이 나와버리게 된다. : if문을 통해서 haksaengInfo.num랑 체크된 값이 똑같을 때만 나타나게 조건을 준다면 체크된 테이블 값만 나오게 된다. 참고로 같은 때는 eq (==써도됨) 같지 않다는 ne (!=해도됨) 3 4 5 체크 후 검색 버튼 누르면 잘나온다 ㅎㅎ 그러나 체크박스가 지워져 버린다 ㅠㅠ 크롬 디버그를 통해서 input태그 안에 checked 를 강제로 넣어주면 체크된다, 이걸 코딩에서 구현해야한다! 여기에 checked가 있으면 되는거다. 체크했을때 저 위치에 체크된것만 박혀있게 구현해야함. if를 걸어서 num 과 체..

스프링(egov) 2020.11.09

20. 체크박스 구현시 주의점

아무것도 체크 안하고 검색버튼을 누르면 에러발생 RequestParam 어노테이션이면 null이 들어왔을때 에러를 발생시키는데 체크박스 input 같은 경우 체크가 안되어 있으면 값자체를 아에 안보내는 특성이 있다. 어노테이션을 빼면 null이던 아니던 상관자체가 없지만 이렇게 쓰면 값을 꼭받아야 하는지 아닌지 다른 사람이 보면 알기 쉽지 않다. required=flase 로 해놓으면 null 이 들어와도 오류가 나지 않는다. 아 꼭 값이 들어올 필요가 없구나 하고 명확하게 알 수 가 있다. (아에 어노테이션이 없어도 똑같이 동작하지만 가독성때문에 이렇게 해준다.) 검색버튼 누를 시 하이라이트가 없어진다. 하이라이트 처리시 하이라이트 처리는 left를 클릭시 클릭한 pageName 값을 파라메터로 넘겨주..

스프링(egov) 2020.11.09

19. JSP에서 자바단으로 배열 올바르게 넘기는 법

&로 끊어서 동일한 chkArr에 중복으로 여러 번 넣어줘야 우리가 원하는대로의 배열로 나온다. 이걸 스크립트단에서 구현해주면된다. jsp단에서 input 태그안의 name="chkNum"은 동일한 이름으로 for문을 돌리기 때문에 chkNum을 이용하면 동일한 키값에 여러 번 넣을 수 있다. 우선 ul을 from태그로 묶어주고 (위 그림과 다르게 실제 보내는 버튼도 form으로 포함시켜놔야함) 이게아니고 요렇게! input 체크박스의 name = chkArr 바꿔서 컨트롤러 단의 param 명이랑 동일하게 해준다. 정상적으로 배열을 넘기기 위해서는 쿼리스트링의 동일 키값에 여러번 값을 넣어줘서 넣어줄때마다 배열이 증가 하면서 데이터가 들어가는걸 앞에서 확인했다. 그래서 jsp단에서 for문을 돌려 in..

스프링(egov) 2020.11.07

18. JSP에서 자바단으로 배열넘길때 주의사항

속성 동등 선택자의 체크된 것만 chkBoxes 변수에 담아주고 chkBoxes.eq(i).val(); 를 통해서 체크된 value 값을 순서대로 chkArr에 push 를 통해 담아준다. 그리고 아이디 선택자로 chkArr의 value값에 배열을 넣어준다. 리퀘스트파람 맵에 받아졌고 맵에서 꺼내서 콘솔에 찍으면 위와같이 정상적으로 체크된 3개가 찍히는걸 볼 수 있다. 그러나 3,4,5 로 찍힌게 배열은 아니고 String 이다. 그러면 애초에 String을 올린건가? 아니면 배열을 보냈는데 String으로 받은건가? 분명히 배열로 선언했고 배열에 넣었다 alert을 통해 chkArr의 타입을 찍었더니 object로 나오는 거 보니 배열인것같다. (String은 string이라고 뜸) input 태그의 ..

스프링(egov) 2020.11.07

17. 체크된 데이터만 나오게하기 (속성동등선택자)

체크된데이터를 검색버튼을 누르면 그 데이터만 나타나게 만들어보자. 고려해야 할것은 체크된 데이터만 mvc를 타서 거기서 웹단으로 보낼때 애초에 체크된 데이터만 보내던가 그리고 검색버튼을 누르고 나서 새로고침이 될때 체크된 4번 5번이 유지되어야 하는 부분을 신경써야한다. 3번, 4번의 value 값은 3 , 4 이다. 이걸 mvc타고 where에 쿼리 질의를 해서 애초에 체크된 값만 jsp단으로 넘겨줘도 되고 통째로 넘겨서 if문으로 걸러서 써도 된다. 여기서 는 통째로 넘긴후 if문으로 걸러보도록한다. 위 크롬디버깅을 보면 id는 각각 체크박스가 다르지만 name은 똑같다! 같은 name인것 들을 타겟 잡는걸 '속성동등선택자' 라고 한다. $("[name=chkNum]") : name이 chkNum인게..

스프링(egov) 2020.11.07

16. RequestParam 의 특징

위와같이 여러개를 받을 수도 있고 RequestParam 를 생략해서 사용 하는 것도 가능하다. 똑같이 나오는데 굳이 어노테이션은 왜 붙이는걸까? jsp에서 보내지 않은 키값인 notParam 을 하나 지정 후 실행 예상대로 null 이라고 나온다 하지만 그 값이 절대로 null이면 안되는 필 수 값이였다고 가정한다면 오류도 나지않고 특별한코딩을 해놓은게 아니라면 문제점을 찾기 매우 어려울 것이다. 그러나 어노테이션을 붙여주고 notParam 이라고 전달받은게 존재하지 않으면 에러를 발생시켜버린다. 절대적으로 와야하는 데이터라면 오류를 발생시켜야 왜 안왔는지 찾기 쉬워질 것이다. 그리도 큰 장점중하나가 화면에서 올린 모든 쿼리 스트링을 @RequestParam에 맵을 선언하면 자동으로 map에 받아준다...

스프링(egov) 2020.11.04