属性 Thymeleaf 无法识别
Property not recognized in Thymeleaf
我想在 Thymeleaf 中创建一个 link 以将用户路由到编辑页面。我的 Java class 看起来像这样(没有 getter 和 setter):
@Entity
@Table(name = "agencies")
public class Agency {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
@Column(nullable = false)
private String name;
@Column(nullable = false, unique = true, length = 50)
private String email;
private String address;
}
我也有一个用这个方法的控制器:
@Autowired private AgencyService service;
@GetMapping("/agencies")
public String showAgencyList(Model model) {
List<Agency> agencies = service.listAll();
model.addAttribute("agencies", agencies);
return "agencies";
}
这是 Thymeleaf 中的部分代码:
<th:block th:each="agency : ${agencies}">
<tr>
<td>[[${agency.name}]]</td>
<td>[[${agency.email}]]</td>
<td>[[${agency.address}]]</td>
<td>
<a class="h4 mr-3" th:href="@{'/agencies/edit/' + ${agency.id} }">Edit</a>
<a class="h4" th:href="@{/agents}">Choose</a>
</td>
</tr>
</th:block>
现在一切正常,除了路径 th:href="@{'/agencies/edit/' + ${agency.id} }
中显示 cannot resovle agency、cannot resolve id。这是为什么? table 已正确显示,我无法弄清楚为什么在 Thymeleaf 中提供另一个视图的路径时代理似乎未知。
我认为 ${agency.id} }
之间的空格会造成问题。
改变
th:href="@{'/agencies/edit/' + ${agency.id} }"
到
th:href="@{'/agencies/edit/' + ${agency.id}}"
或
th:href="@{'/agencies/edit/{id}(id = ${agency.id})'}"
我想在 Thymeleaf 中创建一个 link 以将用户路由到编辑页面。我的 Java class 看起来像这样(没有 getter 和 setter):
@Entity
@Table(name = "agencies")
public class Agency {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
@Column(nullable = false)
private String name;
@Column(nullable = false, unique = true, length = 50)
private String email;
private String address;
}
我也有一个用这个方法的控制器:
@Autowired private AgencyService service;
@GetMapping("/agencies")
public String showAgencyList(Model model) {
List<Agency> agencies = service.listAll();
model.addAttribute("agencies", agencies);
return "agencies";
}
这是 Thymeleaf 中的部分代码:
<th:block th:each="agency : ${agencies}">
<tr>
<td>[[${agency.name}]]</td>
<td>[[${agency.email}]]</td>
<td>[[${agency.address}]]</td>
<td>
<a class="h4 mr-3" th:href="@{'/agencies/edit/' + ${agency.id} }">Edit</a>
<a class="h4" th:href="@{/agents}">Choose</a>
</td>
</tr>
</th:block>
现在一切正常,除了路径 th:href="@{'/agencies/edit/' + ${agency.id} }
中显示 cannot resovle agency、cannot resolve id。这是为什么? table 已正确显示,我无法弄清楚为什么在 Thymeleaf 中提供另一个视图的路径时代理似乎未知。
我认为 ${agency.id} }
之间的空格会造成问题。
改变
th:href="@{'/agencies/edit/' + ${agency.id} }"
到
th:href="@{'/agencies/edit/' + ${agency.id}}"
或
th:href="@{'/agencies/edit/{id}(id = ${agency.id})'}"