不要在jsp jstl上显示控制器的信息

时间:2015-09-12 21:53:17

标签: java jsp spring-mvc jstl

我使用jstl在jsp页面上显示数据时遇到问题。

这是我的页面,并显示信息:

EMPTY !!!
Name    Email   Action

获取-user.jsp

<html>
    <head>
        <title>All users</title>
    </head>
    <body>
        <c:if test="${empty webModels}">
            <h3>EMPTY !!!</h3>
        </c:if>
            <table>
                <thead>
                <tr>
                    <th>Name</th>
                    <th>Email</th>
                    <th>Action</th>
                </tr>
                </thead>
                <tbody>
                <c:forEach items="${webModels}" var="web">
                    <tr>
                        <td>${web.userName}</td>
                        <td>${web.userEmail}</td>
                        <td>${web.Action}</td>
                    </tr>
                </c:forEach>
                </tbody>
            </table>
    </body>
</html>

控制器打印信息尺寸 4

@RequestMapping(value = "/get-user", method = RequestMethod.GET)
public List<WebModel> getWebModels(){
    List<WebModel> webModels = serviceWeb.getAllUser();
    System.out.println(webModels.size()); //not empty
    return webModels;
}

WebModel 我从WebModel中设置的一些表格和主要数据中获取数据库中的数据

public class WebModel {
    private String userName;
    private String userEmail;
    private String Action;
    //getter setter constructor
}

1 个答案:

答案 0 :(得分:1)

documentation about return types of controller methods说:

  

任何其他返回类型都被视为要暴露给视图的单个模型属性,使用在方法级别通过@ModelAttribute指定的属性名称(或基于返回类型类名称的默认属性名称) )。该模型隐含地使用命令对象和@ModelAttribute带注释的参考数据访问器方法的结果进行了丰富。

因此,如果我正确阅读,您应该在JSP中使用list而不是webModels,或者您应该使用

注释方法
@ModelAttribute("webModels")