스프링(egov)

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

웹꽃기사 2020. 11. 9. 00:53

아무것도 체크 안하고 검색버튼을 누르면

 

 

 

 

 

에러발생

 

 

 

 

 

 

RequestParam 어노테이션이면 null이 들어왔을때 에러를 발생시키는데

체크박스 input 같은 경우 체크가 안되어 있으면 값자체를 아에 안보내는 특성이 있다.

 

 

 

 

 

 

 

어노테이션을 빼면 null이던 아니던 상관자체가 없지만 이렇게 쓰면 값을

꼭받아야 하는지 아닌지 다른 사람이 보면 알기 쉽지 않다.

 

 

 

 

 

required=flase 로 해놓으면 null 이 들어와도 오류가 나지 않는다.

아 꼭 값이 들어올 필요가 없구나 하고 명확하게 알 수 가 있다. 

(아에 어노테이션이 없어도 똑같이 동작하지만 가독성때문에 이렇게 해준다.)

 

 

 

 

 

 

검색버튼 누를 시 하이라이트가 없어진다.

 

 

 

 

 

 

 

하이라이트 처리시 

 

 

 

 

 

하이라이트 처리는 left를 클릭시 클릭한 pageName 값을 파라메터로 넘겨주고 pageName의 아이디에

해당 하는 left메뉴에 속성값에 class = "on" 을 주면 하이라이트가 생기는데

그러면 form을 통해 pageName 넘겨야 하는데 검색버튼을 누른뒤 controller 단으로 넘어가면 

 

 

 

 

 

 

 

체크박스 검색 버튼은 pageName 값을 넘겨주는 부분이 없는 다른 form을 사용하기

떄문에 하이라이트 처리가 안되는게 당연하다.

 

 

 

 

 

 

 

이렇게 한줄 input 넣어주면

 

 

 

 

 

 

 

검색버튼을 눌렀때 쓰는form태그와 left 태그 눌렀을 떄 form 태그가 다르기 떄문에

form  태그를 여러개 사용하게 될 경우 주의 해야한다.