hongkd 2019. 12. 2. 10:01

admin 이라는 관리자 계정을 하나 만들었다.

 

 

이제 회원목록은 관리자만 볼수있게 할것이다.

여기서 로그인 했지만 관리자가 아니라면~

관리자로 로그인을 했으면 나머지 아래 코딩을 할것이다. 참고!

 

위에처럼 일반회원으로 로그인한후 회원목록을 보는경우

 

위에 처럼 관리자로 들어와서 회원목록을 본다.

 

 

이제 검색을 했을 경우 회원목록으 보여지도록 한다.

먼저 위에 부분을 본다.

위에처럼 이름을 검색했을 경우 나오게끔 할것이다.

 

이름 또는 USERID 또는 EMAIL 로 검색했을 경우도 나오게끔 할것이다.

위에 보면 option 의 value 안에는 컬럼명이 들어갈 것이다.

 

 

 

현재 검색란에 검색어를 적고 엔처를 치면 바로 Submit 이된다. 왜냐하면 현재

form 태그에 input 태그가 하나이기 때문이다.!!!

그러므로 제일 좋은 방법은 하나의 input태그를 또 만든후 숨겨둔다.

 

아래처럼 type 을 hidden 으로하면 엔터를 쳤을경우 똑같이 submint 이 되어진다. 무조건 type은 text 이다.

 

검색을 눌렀을때 alert 를 뜨게 해보았다 확인용! 또한 enter 를 쳤을 경우도 똑같이 뜨게 해보았다.

 

보여줄 페이지 행은 5개 이고, 검색란에 강감찬이라고 검색한후 엔터를 쳤을경우

위에처럼 주소창이 바뀐다.

 

 

즉 페이징처리와 함께 해야한다.

현재 페이징처리는 되었지만 페이징처리가 되어져 있는상태이가 전체를 불러오고있다.

그러므로 페이징 처리할때 전체가 아닌 조회했을 경우로 바꾸면 되어진다.

 

[ MemberListAction.java ]

selectPagingMember 에서 sql 문을 수정해야 한다.

 

문제는 강감찬만 나오는 것이 아닌 다른것들도 나온다.

여기서 페이지바~ 에 가야 한다.

[ MemberListAction.java ]

똑같이 [ 다음 ] 에도 해주어야 한다.

while else 에도 추가해 준다.

 

변하기 전 url 주소창

변한후 url 주소창

위에처럼 10 다음에 없으면 화면이 나오면 안된다.

 

다시 페이지 바로 간다.

위에 부분을 보아야 한다.

 

dao.getTotalPage(sizePerPage); 로 가보자

현재 sql 문이 이렇게 되어 있는상태이다. where 문에 주고자 하는 where 문이 아닌 전체를 말하고 있다.

그러므로 where문을 추가해 주어야 한다.

 

위에 있는 sizePerPage 가아닌 HashMap 으로 바꿀것이다.

위에 이미 HashMap 안에 넣어놓은 것을 사용한다.

 

현재 Map 에는 sizePerPage 뿐만아니라 searchType 과 searchWord 가 들어가 있다.

 

여기서 검색한 후 엔터나 검색을 눌렀을 경우 검색한 이름이 그대로 남아있도록 해준다

어떤 형식으로 나오는지 먼저 확인해 본다.

하지만 검색을 하지 않았을 경우 아래처럼 나온다.

위와 같이 검색란에 유지가 잘 된다.

 

 

 

현재 이메일은 암호화가 되어 있기때문에 검색할때 암호화를 해주어서 하여야 한다.

 

 

위와 같이 나온다.

 

 

 

null 값 잡아주기.

여기서 2페이지를 눌렀을 경우

이렇게 null 값 이 나온다.

 

현재 위에 코딩에서 searchType 과 serchWord 에 null 이나오는 경우 "" 로 해주었는데 이것은

memberList.jsp 에 넘어갈때 넘어갈수 있도록 유지시켜주기 위해서이다.

 

다시원상복구 한다.

 

페이지 바에서 다시 코딩을 한다.

 

이렇게 바꾸어 줘야 한다.

searchType 이 null 이라면 값을 아무것도 안넣어주고,

searchWord 이 null 이라면 값을 아무것도 넣어주지 않는다.

 

url 주소를 보면 이제 null 이 아닌 값이 없음을 볼수가 있다.