spring

Spring Thymeleaf th:object 식

다만사 2023. 6. 26. 22:35

선택된 객체에 대해서 th:object="${object}" 이하의 태그에 대해 *{...}로 표기할 수 있음

컨트롤러

package com.oraclejava.springboot;

 

import org.springframework.stereotype.Controller;

import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.servlet.ModelAndView;

 

@Controller

public class HelloController {

 

@RequestMapping("/")

public ModelAndView hello(ModelAndView mav) {

mav.setViewName("index");

mav.addObject("msg", "Hello!");

PersonInfo personInfo = new PersonInfo(123, "damansa1", "damansa1@naver");

mav.addObject("person", personInfo);

 

return mav;

 

}

}

 

 

<!DOCTYPE html>

<html xmlns:th="http://www.thymeleaf.org">

<head>

<meta charset="UTF-8">

<title>Insert title here</title>

</head>

<body>

<h1 th:text="${msg}"></h1>

 

<table th:object="${person}">

<tr><th>ID</th><td th:text="*{id}"></td></tr>

<tr><th>Name</th><td th:text="*{name}"></td></tr>

<tr><th>Email</th><td th:text="*{email}"></td></tr>

</table>

</body>

</html>

 

package com.oraclejava.springboot;

 

public class PersonInfo {

 

private int id;

private String name;

private String email;

 

public PersonInfo() {

 

}

 

public PersonInfo(int id, String name, String email) {

this.id = id;

this.name = name;

this.email = email;

}

 

public int getId() {

return id;

}

public void setId(int id) {

this.id = id;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public String getEmail() {

return email;

}

public void setEmail(String email) {

this.email = email;

}

 

 

}