JSP不会在SpringBoot2中呈现java列表

JSP不会在SpringBoot2中呈现java列表,java,spring-boot,jsp,Java,Spring Boot,Jsp,我在SpringBoot2中有一个简单的java应用程序,带有JSP。 我使用h2数据库来测试数据。 它工作正常,但JSP不会呈现来自控制器的列表数据。 JSP中的列表为空,而控制器中的列表有2个值。其他属性(如字符串)工作正常。 我不明白问题出在哪里 控制器: 用户模型: JSP页面: UserService.cls从h2返回列表,它在调试中,它 看起来不错 @Transactional 公共列表getAll(){ 返回(列出)this.userRepository.findAll(); }

我在SpringBoot2中有一个简单的java应用程序,带有JSP。 我使用h2数据库来测试数据。 它工作正常,但JSP不会呈现来自控制器的列表数据。 JSP中的列表为空,而控制器中的列表有2个值。其他属性(如字符串)工作正常。 我不明白问题出在哪里

控制器:

用户模型:

JSP页面:

UserService.cls从h2返回列表,它在调试中,它 看起来不错

@Transactional
公共列表getAll(){
返回(列出)this.userRepository.findAll();
}
截图:


这里可能有什么问题?

在JSP顶部添加以下行:

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>


jsp文件中不包括用户模型类。@很好,我添加了导入,但行为是相同的。表仍然为空。@ArvindKumarAvinash JSP名称为users,它与属性名称“users”相同。我不确定,但您能否替换此部分:`map.addAttribute(“users”,this.userService.getAll());`使用delcaring列表并在您的模型中分配该列表,就像您在这里拥有的一样?@user404我已经尝试过了,但没有帮助;(我甚至创建了具有相同属性的内部tmp类,并将其添加到列表中,以摆脱User.cls关系,但这没有帮助…我在header.jspno中添加了它,它不起作用。文档说它应该返回资源映射,应该是“/users”。它也可以包装在ModelAndView对象中。这些链接根本没有帮助,我在票据中提到字符串类型正在成功呈现。问题在于java类对象的列表类型。您是否检查过我的代码?我的代码与此相同,不起作用。JSP中的列表为空,并且有一个空列表的检查e、 我在header.jsp中添加了我的“c”标记库,以及我在每个页面上导入的其他常规标记。但是,它似乎不起作用,所以我将其添加到当前页面并开始工作。我将此答案标记为最佳答案,谢谢。
@NoArgsConstructor
@Getter
@Setter
@EqualsAndHashCode
@ToString
@Entity
public class User implements Serializable {

    @Id
    @GeneratedValue
    private Long id;
    private String firstName;
    private String lastName;
    private String country;

    public User(@JsonProperty Long id, @JsonProperty String firstName, @JsonProperty String lastName, @JsonProperty String country) {
        this.id = id;
        this.firstName = firstName;
        this.lastName = lastName;
        this.country = country;
    }
}
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
    <jsp:include page="header.jsp">
        <jsp:param name="title" value="LIBRARY - Users"/>
    </jsp:include>
        <!--NAVBAR-->
        <%@ include file="navbar.jsp"%>
        <!--CONTENT-->
        <div class="container-fluid h-100">        
            <table class="table table-hover">
                <thead>
                    <tr>
                        <th>Index</th>
                        <th>Id</th>
                        <th>First Name</th>
                        <th>Last Name</th>
                        <th>Country</th>
                    </tr>
                </thead>
                <tbody>
                    <c:forEach items="${users}" var="user" varStatus="iteration">
                        <tr>
                            <td>${iteration.index}</td>
                            <td>${user.id}</td>
                            <td>${user.firstName}</td>
                            <td>${user.lastName}</td>
                            <td>${user.country}</td>
                        </tr>
                    </c:forEach>
                </tbody>
            </table>
            <c:if test="${empty users}">
                <div class="d-flex justify-content-center">
                    <p>There are no records in the database</p>
                </div>            
            </c:if>
        </div>    
    <jsp:include page="footer.jsp" />
user: User(id=111111, firstName=Wick, lastName=England, country=John)
user: User(id=111112, firstName=Madman, lastName=USA, country=Andy)
@Transactional
public List<User> getAll() {
    return (List<User>) this.userRepository.findAll();
}
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
return "/users";
return "users";