스프링 프레임워크에 포함되어있는 ServletRequestUtils 클래스에 대해 적어볼까 합니다. 저도 이런 존재를 몰랐었는데 기선님의 블로그에서 보고 처음 알게되었고, 아주 잘 사용하고 있습니다^^
그러고 보니 제 지식은 기선님 지식 카피본으로 채워져 있는게 아닐까 하는 생각도 드네요 -_-a
기존에 페이징 처리를 위해 이런 코드가 있었다고 치죠.
[code]if (request.getParameter(“page”) == null)
{
nowPage = 1;
} else {
String parsePage = request.getParameter(“page”);
nowPage = Integer.parseInt(parsePage.equals(“”) ? “1” : parsePage);
}[/code]
위의 코드는 모두들 이해하실것이라 생각됩니다. page라는 이름의 파라미터값을 읽어와서 값이 없을 경우 nowPage에 1을, 값이 있을 경우에는 그 값을 page에 대입하는 과정입니다.
위의 소스도 제 나름대로 줄인다고 줄여본건데 다음의 ServletRequestUtils를 사용한 소스를 한번 보시죠.
[code]ServletRequestUtils.getIntParameter(request, “page”, 1)[/code]
저게 끝입니다. 첫번째 인자로 request를 넣어주고, 두번째 인자는 가져온 파라미터의 이름, 세번째는 값이 없을 경우 사용할 디폴트 값입니다. 세번째 인자는 없어도 됩니다.
page의 값이 있다면 그것을 int형으로 변환해 넘겨줄것이고 없다면 1을 리턴할 것입니다.
getIntParameter뿐만 아니라 getStringParameter등등, 모든 형대로 메서드가 구현되어있습니다. 필요한 녀석을 골라 사용하시면 되겠네요. 그런데 한글은 인코딩 문제가 있네요. 왜 인코딩 처리는 안한건지;