관리 메뉴

공부한것들을 정리하는 블로그 입니다.

14. search 검색 기능 본문

(2017) 사이드 프로젝트/fnl-project(게시판)

14. search 검색 기능

호 두 2017. 6. 9. 15:46
반응형

설명 : 

main 상단의 serarch 기능을 조건을 특정하여 검색 가능. search type이 ssiatnoriter 일 경우 ssiatnoriter 게시판에서의 검색이 이루어짐



참고 : 

http://wjheo.tistory.com/entry/%EC%8A%A4%ED%94%84%EB%A7%81-%EA%B2%8C%EC%8B%9C%ED%8C%90-%EA%B2%80%EC%83%89%EC%B2%98%EB%A6%AC%EB%8F%99%EC%A0%81-SQL

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);
}



NoriterServiceImpl
@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);
	}
}



NoriterDao
@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);
	}



noriter-mapper

	
	
	
		
	
	
	


반응형
Comments