공부한것들을 정리하는 블로그 입니다.
14. search 검색 기능 본문
반응형
설명 :
main 상단의 serarch 기능을 조건을 특정하여 검색 가능. search type이 ssiatnoriter 일 경우 ssiatnoriter 게시판에서의 검색이 이루어짐
참고 :
- http://doublesprogramming.tistory.com/96
추가로 공부해볼만한 것 :
JavaScript
정규표현식
------------------------------------------------------------
menu/menuList.jsp
MenubarUtils(controller)
@Controller @RequestMapping("menu") public class MenubarUtils { Logger log = Logger.getLogger(this.getClass()); @Autowired private NoriterService noriterService; private PagingUtils pu = new PagingUtils(); // Search 검색기능 : 범위는 Noriter 에 한정 @RequestMapping(value="/noriterSearch.do", method=RequestMethod.GET) public ModelAndView noriterSearch(@RequestParam( "noriterSearchKeyword") String noriterSearchKeyword, Noriter noriter, ModelAndView mv, Paging npaging, HttpServletRequest request) throws Exception { // paging 부분 int a = 1; // totalCount 초기화 int b = 1; // page 초기화 a = noriterService.noriterSearchTC(noriterSearchKeyword); pu.setChangedTotalCount(a); pu.setChangedPage(b); //전달받은 현재 페이지 추출 if(request.getParameter("page") != null){ b =Integer.parseInt(request.getParameter("page")); pu.setChangedPage(b); } npaging = pu.noticePaging(); //TODO : category 는 넣지 않았음 <- search type 이 아직 없으므로.. /* // category는 1로 고정하여 항시 전체보기로 설정 int category = 1; System.out.println("category : " + category);*/ // List 출력(get) List<noriter> nlist = noriterService.noriterSearch(noriter, npaging, noriterSearchKeyword); mv.addObject("nlist", nlist); mv.addObject("page", npaging.getPage()); mv.addObject("countList", npaging.getCountList()); mv.addObject("countPage", npaging.getCountPage()); mv.addObject("totalPage", npaging.getTotalPage()); mv.addObject("startPage", npaging.getStartPage()); mv.addObject("endPage", npaging.getEndPage()); // mv.addObject("category", category); mv.addObject("nlist", nlist); mv.setViewName("noriter/noriterList"); System.out.println(npaging); return mv; } }
NoriterService
public interface NoriterService { List<noriter> noriterSearch(Noriter noriter, Paging npaging, String noriterSearchKeyword); }
@Service("noriterService") public class NoriterServiceImpl implements NoriterService{ Logger log = Logger.getLogger(this.getClass()); @Autowired NoriterDao noriterDao; @Override public List<noriter> noriterSearch(Noriter noriter, Paging npaging, String noriterSearchKeyword) { return noriterDao.noriterSearch(noriter, npaging, noriterSearchKeyword); } }
@SuppressWarnings("unchecked") public List<noriter> noriterSearch(Noriter noriter, Paging npaging, String noriterSearchKeyword) { Map map = new HashMap(); int start = ((npaging.getPage() -1 ) * 10) + 1; int end = (npaging.getPage() * 10); System.out.println("start : " + start); System.out.println("end : " + end); map.put("noriter", noriter); map.put("start", start); map.put("end", end); map.put("noriterSearchKeyword", noriterSearchKeyword); return (List) sqlSession.selectList("noriterSearch", map); }
반응형
'(2017) 사이드 프로젝트 > fnl-project(게시판)' 카테고리의 다른 글
15. gmail로 email 인증번호 보내기(비밀번호 찾기 기능/ 회원가입시 이메일 인증) (2) | 2017.06.15 |
---|---|
0. 스프링(Spring) 개발 -개발환경 구성하기 [Eclipse+Maven+SVN] (0) | 2017.06.09 |
- Spring 따라하기_샘플 (0) | 2017.06.09 |
- spring 셋팅(pom, log4j, interceptor, mvc작성, mapper작성 등)과 db 셋팅(샘플데이터) (0) | 2017.06.09 |
13. 최신 공지사항 글이 메인 상단에 출력 : ajax (0) | 2017.06.05 |
12. 카테고리 항목 추가 : 카테고리별로 불러오기(DB조인) (0) | 2017.06.04 |
11. interceptor를 이용한 로그인 session처리 (0) | 2017.05.26 |
10. 페이징 처리하기 (2) | 2017.05.26 |
Comments