我试图为我的项目(电话簿)制作简单的过滤器,以便能够通过他们的电子邮件而不是id找到用户的联系人。当我简单地启动URL时:http://localhost:8080/home/phonebook.我得到以下错误。
错误消息
org.thymeleaf.exceptions。TemplateProcessingException:异常评估SpringEL表达式:“data.content”(模板:“/home/phonebook”-第29行,第13列)
原因:org.springframework.expression.spel。SpelEvaluationException:EL1008E:在“java.util”类型的对象上找不到属性或字段“content”。ArrayList’-可能不是公共的或无效的?
家庭控制器
@RequestMapping(value = {"/home/phonebook"}, method = RequestMethod.GET)
public String showPage(Model model, @RequestParam(defaultValue = "0") int page){
Authentication auth = SecurityContextHolder.getContext().getAuthentication();
User user = userService.findUserByEmail(auth.getName());
model.addAttribute("data",phonebookRepository.findAllByUserEmail(user.getEmail(),PageRequest.of(page,10)));
model.addAttribute("currentPage",page);
return "/home/phonebook";
}
电话簿.html
<tr th:each="phonebook :${data.content}">
<td th:text="${phonebook.id}"></td>
<td th:text="${phonebook.surname}"></td>
<td th:text="${phonebook.firstname}"></td>
<td th:text="${phonebook.phoneNumber}"></td>
<td>
<a th:href="@{delete/(id=${phonebook.id})}" class="btn btn-danger delBtn">Delete</a>
<a th:href="@{findOne/(id=${phonebook.id})}" class="btn btn-primary eBtn">Edit</a></td>
</tr>
</tbody>
</table>
<hr/>
<ul class="nav nav-pills">
<li class="nav-item" th:each="i: ${#numbers.sequence(0,data.totalPages-1)}">
<a th:href="@{/home/phonebook(page=${i})}" th:text="${i}" class="nav-link"
th:classappend="${currentPage}==${i}?'active':''"></a>
</li>
</ul>
电话簿存储库
@Repository("phonebookRepository")
public interface PhonebookRepository extends JpaRepository<Phonebook,Integer> {
List<Phonebook> findAllByUserEmail(String email, Pageable pageable);
}
安全配置
@Override
protected void configure(AuthenticationManagerBuilder auth) throws Exception {
auth.jdbcAuthentication().dataSource(dataSource)
.usersByUsernameQuery("select email, password, active from users where email=?")
.authoritiesByUsernameQuery("select u.email, r.role from users u inner join user_role ur on(u.user_id=ur.user_id) inner join role r on(ur.role_id=r.role_id) where u.email=?")
.passwordEncoder(passwordEncoder());
}
更新1
对<代码>
org.thymeleaf.exceptions。TemplateProcessingException:异常评估SpringEL表达式:“#numbers.sequence(0,data.totalPages-1)”(模板:“/home/phonebook”-第42行,第38列)
原因:org.springframework.expression.spel.SpelEvalue ationException: EL1008E:属性或字段的总页无法找到类型的对象java.util.ArrayList-可能不公开或无效?
数据内容只是一个属性,而是通过$data循环
请协助完成以下工作。我试图显示从控制器返回的arraylist,并将其显示到Html表中,但出现了上述错误。 这是我的控制器代码: 这是我想在其中显示列表的表格
当我使用Spring Boot的全局异常处理程序时,我得到了这个: org.springframework.expression.spel。SpelEvaluationException:EL1008E:在“java.util”类型的对象上找不到属性或字段“timestamp”。HashMap”-可能不是公共的? 这是我的代码,我已经在我的项目中导入了Spring Security和Thymele
我是新来的Spring靴。我在基于javax的验证上遇到了麻烦。控制器期望从POSTendpoint获得json obj的列表。在JSON请求json数组中,如果或为空,我得到正确的400错误。但是,当或为空时,它会抛出500个带有错误消息的异常: 控制器。JAVA 汽车JAVA Engine.java CollectionValidator。JAVA 验证者Advice.java 请求/响应:U
我收到以下错误“bean类[java.util.ArrayList]的无效属性'username]:bean属性'username'不可读或具有无效的getter方法”。 虽然我有正确的表单bean,名称为username,但是我仍然收到了这个错误,你能帮我解决这个错误吗。。? 我的jsp页面在下面 下面提供了我的控制器
我是Spring的新手,我有个例外。 我有一个jsp,有很多选择。它们都工作正常,但有一个显示了这个例外: 我正在以与其他工作正常的人相同的方式实施selct。下面是jsp代码: 这里是控制器: 这里,实体Expediente: 最后是TipoExpedinte实体 我认为这可能发生,因为PharmantePadre属性是同一实体Pharmante的外键,但我不知道如何解决它。。。 要帮忙吗?谢谢