springboot에서 controller을 통해서 {템플릿, 문자열, json} 브라우저에 출력하는 다양한 형식을 소개드립니다.
1. 예제 파일의 주요 구성 부분입니다.
2. { HelloController.java, hello.html, hello-template.html } 주요 파일의 소스코드입니다.
HelloController.java
public class HelloController {
/*
http://localhost:8080/hello로 접속하면 속성명 "data"에
String문자열을 담아서 hello.html파일로 넘겨줍니다.
*/
@GetMapping("hello")
public String hello(Model model){
model.addAttribute("data", "[ From Server - hello!! ]");
return "hello";
}
/*
http://localhost:8080/hello-mvc?name=myName로 접속하면 속성명 "name"에
넘겨받은 name값을 String문자열로 담아서 hello-template.html파일로 넘겨줍니다.
*/
@GetMapping("hello-mvc")
public String helloMvc(@RequestParam("name") String name, Model model){
model.addAttribute("name", name);
return "hello-template";//templates의 html파일을 찾음
}
/*
http://localhost:8080/hello-string?name=myName로 접속하면 속성명 "name"에
넘겨받은 name값을 String문자열로 담아서 html파일을 호출하지 않고 String자체를 브라우져에 출력해 줍니다.
*/
@GetMapping("hello-string")
@ResponseBody
public String helloString(@RequestParam("name") String name){
return "hello " + name;//문자 그대로를 리턴 합니다.
}
/*
http://localhost:8080/hello-api?name=myName로 접속하면 속성명 "name"에
넘겨받은 name값을 객체에 담아서 객체의 내용전체를 json형태로 변환후 json문자열을 브라우져에 출력해 줍니다.
*/
@GetMapping("hello-api")
@ResponseBody
public Hello helloApi(@RequestParam("name") String name){
Hello hello = new Hello();
hello.setName(name);
return hello;//객체타입으로 리턴하면 json형태로 리턴이 됩니다.
}
static class Hello{
private String name;
public String getName(){
return name;
}
public void setName(String name){
this.name = name;
}
}
}
hello.html
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<p th:text="'안녕하세요.'+${data}">안녕하세요. 손님</p>
</body>
</html>
hello-template.html
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<p th:text="'hello '+${name}">hello! empty</p>
</body>
</html>
3. HelloController.java 메서드별 결과출력
상세설명은 상단에 작성한 HelloController.java소스코드의 주석을 참조하세요.
@GetMapping("hello")
@GetMapping("hello-mvc")
@GetMapping("hello-string")
@GetMapping("hello-api")
6. 소스코드 파일첨부
'Java' 카테고리의 다른 글
[Java basics 02] IntelliJ IDEA에서 Java 파일 실행 및 디버그 모드 활용 (48) | 2024.04.03 |
---|---|
[Java basics 01 ] 처음 시작하는 Java프로젝트 생성 삭제 (16) | 2024.04.03 |
Springboot 01 - 인텔리J에서 Springboot프로젝트 생성 (2) | 2024.01.17 |
이클립스 최신버전 다운로드 {유목민 알폰스} (1) | 2023.11.02 |