24.03.13 01:09 작성
·
125
0
#array.html
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h1>Arrays</h1>
<ul>
<li>username = <span th:text="${userA.username}"></span></li>
<li>age = <span th:text="${userA.age}"></span></li>
</ul>
<h1>LocalDateTime - Utils</h1>
<ul>
<li>${#arrays.toStringArray(userA)} = <span th:text="${#arrays.toStringArray(userA)}"></span></li>
<li>${#arrays.toIntegerArray(userA)} = <span th:text="${#arrays.toIntegerArray(userA)}"></span></li>
<li>${#arrays.toLongArray(userA)} = <span th:text="${#arrays.toLongArray(userA)}"></span></li>
<li>${#arrays.toDoubleArray(userA)} = <span th:text="${#arrays.toDoubleArray(userA)}"></span></li>
<li>${#arrays.toFloatArray(userA)} = <span th:text="${#arrays.toFloatArray(userA)}"></span></li>
<li>${#arrays.toBooleanArray(userA)} = <span th:text="${#arrays.toBooleanArray(userA)}"></span></li>
</ul>
</body>
</html>
@GetMapping("/array")
public String array(Model model) {
User userA = new User("userA", 10);
User userB = new User("userB", 20);
model.addAttribute("userA", userA);
model.addAttribute("userB", userB);
return "basic/array";
}
@Data
static class User {
private String username;
private int age;
public User(String username, int age) {
this.username = username;
this.age = age;
}
}
이렇게 했을 때
Caused by: java.lang.IllegalArgumentException: Cannot convert object of class "hello.thymeleaf.basic.BasicController$User" to an array of Class
이런 에러가 뜨는데 왜 에러가 발생하며, 어떻게 활용하면 될까요?
답변 1
0
안녕하세요. gmldnjs0402님, 공식 서포터즈 코즈위버입니다.
작성하신 코드가 어떤의도인지 알 수 없습니다.
타임리프에서 User 를 활용하기 위해선 Model에 설정한 이름 ("userA", "userB")를 이용해야 합니다.
그리고 이 객체는 User 객체이지 배열이 아니므로 배열관련 기능을 이용하실 수 없습니다.
감사합니다.