note

@RequestParam 어노테이션을 이용한 파라미터 매핑 본문

JSP/Spring

@RequestParam 어노테이션을 이용한 파라미터 매핑

투한 2012. 3. 5. 09:53



















SearchController

public ModelAndView serchInternal()
@RequestParam("query") 는 반드시 넘겨야할 값 (required = false를 입력하지 않았을 경우)

ModelAndView로 리턴하면 jsp에서 값을 받아 들일 수 있다

defaultValue 전송되지 않았을 경우 기본값 1

public ModelAndView searchExternal()

메소드는 의무사항이 없기 때문에 external.do로 호출이 가능하다

 














dispatcher-servlet.xml
<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:context="http://www.springframework.org/schema/context" xmlns:p="http://www.springframework.org/schema/p"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://www.springframework.org/schema/beans
       http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
       http://www.springframework.org/schema/context
       http://www.springframework.org/schema/context/spring-context-3.0.xsd">


	<!-- 파라미터로 전송된 데이터 처리 -->
	<bean id="searchController" class="madvirus.spring.chap06.controller.SearchController" />
	
	<!-- View 글로벌 설정 -->
	<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
		<property name="prefix" value="/WEB-INF/view/" />
		<property name="suffix" value=".jsp" />
	</bean>
</beans>






SearchController.java
package madvirus.spring.chap06.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.servlet.ModelAndView;

@Controller
public class SearchController {

	@RequestMapping("/search/internal.do")
	public ModelAndView serchInternal(
			@RequestParam("query") String query,
			@RequestParam(value = "p", defaultValue = "1") int pageNumber) {
		
		System.out.println("query=" + query + ",pageNumber=" + pageNumber);
		
		return new ModelAndView("search/internal");
	}
	
	
	@RequestMapping("/search/external.do")
	public ModelAndView searchExternal(
			@RequestParam(value = "query", required = false) String query,
			@RequestParam(value = "p", defaultValue = "1") int pageNumber) {
		
		System.out.println("query=" + query + "mpageNumber=" + pageNumber);

		return new ModelAndView("search/external");
	}
}







search/external.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>외부 검색</title>
</head>
<body>
외부 검색
</body>
</html>





search/internal.jsp 
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>내부 검색</title>
</head>
<body>
내부 검색
</body>
</html>