티스토리 뷰
출처 : 스프링3(Spring3)MVC 연동 (3) - 서버값 웹페이지로 전송하기 :: 야근싫어하는 개발자
파라미터 전달 (클라이언트 -> 서버)
java 소스
@RequestMapping(value = "/sum_result1.iot", method = RequestMethod.GET) public String sum_result1( @RequestParam("param1") int param1, @RequestParam("param2") int param2, ModelMap modelMap )
Get 파라미터 전달
http://localhost:7070/IotWebServer/sum_result1.iot?param1=2¶m2=3
서버값 클라이언트에 전달 (서버 -> 클라이언트)
java 소스 - TestController.java
package com.iot.ui.controller; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; @Controller public class TestController { @RequestMapping(value = "/sum_result1.iot", method = RequestMethod.GET) public String sum_result1( @RequestParam("param1") int param1, @RequestParam("param2") int param2, ModelMap modelMap ) { // 결과값 int sum_value = param1 + param2; // Model에 값 설정 modelMap.addAttribute("param1", param1); modelMap.addAttribute("param2", param2); modelMap.addAttribute("sum_value", sum_value); // 전달 할 jap 페이지 return "sum_result1"; } }
jsp 소스 - sum_result1.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <html> <head> </head> <body> 스프링 테스트<br/><br/> ${param1} 더하기 ${param2} (은/는) ${sum_value} 입니다. </body> </html>
결과
@ResponseBody 어노테이션
출처 : @ResponseBody 이해하기
@ResponseBody 로 어노테이션이 되어 있다면 메소드에서 리턴되는 값은 View 를 통해서 출력되지 않고 HTTP Response Body 에 직접 쓰여지게 됩니다.
java 소스
@ResponseBody @RequestMapping(value="/sum_result_body.iot", method = RequestMethod.GET) public String sum_result_body( @RequestParam("param1") int param1, @RequestParam("param2") int param2 ) throws Exception { return param1 + " + " + param2 + " = " + (param1 + param2); }
결과
@RequestParam 어노테이션
출처 : [Spring 3 - @MVC] @Controller #2 - 파라미터와 리턴 타입의 종류
옵션
- value : 파라미터명
- required : 필수 여부
- defaultValue : required가 false인 경우 값이 없는 경우 기본값
java 소스
@RequestMapping(value = "/sum_result2.iot", method = RequestMethod.GET) public String sum_result2( @RequestParam("param1") int param1, @RequestParam(value="param2", required=false, defaultValue="0") int param2, ModelMap modelMap ) { // 결과값 int sum_value = param1 + param2; // Model에 값 설정 modelMap.addAttribute("param1", param1); modelMap.addAttribute("param2", param2); modelMap.addAttribute("sum_value", sum_value); // 전달 할 jap 페이지 return "sum_result1"; }
결과
domain 객체 클라이언트에 전달 (서버 -> 클라이언트)
출처 : 뜬금없는 도메인 오브젝트의 발전사
java 소스 도메인 객체 - SumValueDomain.java
package com.iot.domain; public class SumValueDomain { private int value1; private int value2; }
get, set 메소드 생성
메소드 추가
public int getSumValue() { return this.value1 + this.value2; }
java 소스 도메인 객체 최종소스 - SumValueDomain.java
package com.iot.domain; public class SumValueDomain { private int value1; private int value2; public int getValue1() { return value1; } public void setValue1(int value1) { this.value1 = value1; } public int getValue2() { return value2; } public void setValue2(int value2) { this.value2 = value2; } public int getSumValue() { return this.value1 + this.value2; } }
java 소스
@RequestMapping(value = "/sum_result3.iot", method = RequestMethod.GET) public String sum_result3( @RequestParam("param1") int param1, @RequestParam(value="param2", required=false, defaultValue="0") int param2, ModelMap modelMap ) { // 도메일 객체 생성 SumValueDomain sum_value = new SumValueDomain(); // 값 설정 sum_value.setValue1(param1); sum_value.setValue2(param2); // Model에 도메일 객체 전달 modelMap.addAttribute("sum_value", sum_value); // 전달 할 jap 페이지 return "sum_result3"; }
jsp 소스 - sum_result3.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <html> <head> </head> <body> 스프링 테스트<br/><br/> ${sum_value.value1} 더하기 ${sum_value.value2} (은/는) ${sum_value.getSumValue()} 입니다. </body> </html>
결과
domain 객체 서버에 전달 (클라이언트 -> 서버)
domain 객체를 spring 프레임워크에서 제공되는 form 테그 라이브러리를 사용해서 jsp에 전달했다가 다시 form 테그를 이용해서 서버의 controller에 전달하는 과정
java 소스 - Form jsp 호출
@RequestMapping(value = "/sum_form.iot", method = RequestMethod.GET) public String sum_form(ModelMap modelMap) { // 도메일 객체 생성 SumValueDomain sum_value = new SumValueDomain(); // Model에 도메일 객체 전달 modelMap.addAttribute("sum_value", sum_value); // 전달 할 jap 페이지 return "sum_form"; }
jsp 소스 - sum_form.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%> <html> <head> </head> <body> <form:form modelAttribute="sum_value" action="sum_result4.iot" method="POST"> <p> 값1<br/> <form:input path="value1"/> </p> <p> 값2<br/> <form:input path="value2"/> </p> <p> <input type="submit" value="Submit"> </p> </form:form> </body> </html>
결과 - Form jsp
java 소스 - Form 에서 submit 호출 받는 메소드
@RequestMapping(value = "/sum_result4.iot", method = RequestMethod.POST) public String sum_result4(SumValueDomain domain, ModelMap modelMap) { int sum_value = domain.getValue1() + domain.getValue2(); modelMap.addAttribute("param1", domain.getValue1()); modelMap.addAttribute("param2", domain.getValue2()); modelMap.addAttribute("sum_value", sum_value); // 전달 할 jap 페이지 return "sum_result1"; }
결과
- Total
- Today
- Yesterday
- Xcode
- ubuntu
- SAS
- 일본여행
- 동경
- BPI-M4
- Delphi Tip
- NDK
- Spring MVC
- ble
- flex
- KOBA
- MySQL
- sas2009
- Mac
- Delphi
- android
- 지스타2007
- Spring
- 전예희
- Linux
- ffmpeg
- 송주경
- 레이싱모델 익스트림 포토 페스티벌
- Java
- oracle
- 튜닝쇼 2008
- JavaScript
- 서울오토살롱
- koba2010
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |