Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hibernate 从控制器传递后无法在jsp中显示列表_Hibernate_Jsp_Spring Mvc - Fatal编程技术网

Hibernate 从控制器传递后无法在jsp中显示列表

Hibernate 从控制器传递后无法在jsp中显示列表,hibernate,jsp,spring-mvc,Hibernate,Jsp,Spring Mvc,我试图使用JSTL标记在JSP中显示list的值。但是什么也没有显示。我找不出问题所在。这是我在JSP中的代码 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@page contentType="text/html" pageEncoding="UTF-8" %> <%@ taglib uri="http://java.sun.com/jsp/jstl/functions" p

我试图使用JSTL标记在JSP中显示list的值。但是什么也没有显示。我找不出问题所在。这是我在JSP中的代码

 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@page contentType="text/html" pageEncoding="UTF-8" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>

the length is ${fn:length(test1)}
 <c:forEach var="ex" items="${test1}">
   <c:out value="${ex.userid}" />
   <c:out value="${ex.password}" />
</c:forEach>
这是我的DAO代码

     package registration;


    import java.util.List;
    import org.hibernate.Query;
    import org.hibernate.Session;
    import org.hibernate.SessionFactory;
    import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
    import org.hibernate.cfg.Configuration;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.stereotype.Repository;

    @Repository("registrationDAO")
    public class registrationDAOImpl implements registrationDAO{

        @Autowired 
        public static SessionFactory getSessionFactory()
        {
            Configuration configuration = new Configuration().configure();
            StandardServiceRegistryBuilder builder = new StandardServiceRegistryBuilder().applySettings(configuration.getProperties());
            SessionFactory factory = configuration.buildSessionFactory(builder.build());
            return factory;
        }
@Override
    public List<Login> getLoginInfo() {
        Session session=getSessionFactory().openSession();
        Query query = session.createQuery("from Login");
        List test = query.list();
        return test;
    }

}
这是web.xml代码

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.1" xmlns="http://xmlns.jcp.org/xml/ns/javaee" 
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd">
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/applicationContext.xml</param-value>
    </context-param>
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>
    <servlet>
        <servlet-name>dispatcher</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>dispatcher</servlet-name>
        <url-pattern>*.htm</url-pattern>
    </servlet-mapping>
    <session-config>
        <session-timeout>
            30
        </session-timeout>
    </session-config>
    <welcome-file-list>
        <welcome-file>redirect.jsp</welcome-file>
    </welcome-file-list>
</web-app>
使用:


问题解决了。这是模型和视图类的一个重要问题。而不是导入导入org.springframework.web.servlet.ModelAndView

我的控制器从import org.springframework.web.portlet.ModelAndView导入它


现在显示了长度并正确显示了数据

您应该尝试了解您的问题是在视图层还是在控制器/服务/dao中。尝试调试控制器,或者简单地记录/打印测试列表大小。或者在jsp中,使用函数长度,将test1作为参数。尽量避免使用原始类型。使列表通用。当我在控制器中打印尺寸时,它显示为3。但是当我在JSP中使用fn:length打印test1的长度时,它显示为0。我希望在控制器中通过test1的语法是正确的。可能会出错的地方。我尝试了put函数。但是JSP中test1的长度仍然是0。在我的帖子中更新了jsp代码。您需要查看代码的其他部分吗?JSP中的长度仍然是0
package registration;

import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;

@Entity
@Table(name = "login")

public class Login {

    @Id
    @Basic(optional = false)
    @Column(name = "userid")
    private String userid;
    @Column(name = "password")
    private String password;
    @Column(name = "role")
    private String role;

    public Login() {
    }

    public Login(String userid) {
        this.userid = userid;
    }

    public String getUserid() {
        return userid;
    }

    public void setUserid(String userid) {
        this.userid = userid;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public String getRole() {
        return role;
    }

    public void setRole(String role) {
        this.role = role;
    }


}
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.1" xmlns="http://xmlns.jcp.org/xml/ns/javaee" 
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd">
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/applicationContext.xml</param-value>
    </context-param>
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>
    <servlet>
        <servlet-name>dispatcher</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>dispatcher</servlet-name>
        <url-pattern>*.htm</url-pattern>
    </servlet-mapping>
    <session-config>
        <session-timeout>
            30
        </session-timeout>
    </session-config>
    <welcome-file-list>
        <welcome-file>redirect.jsp</welcome-file>
    </welcome-file-list>
</web-app>
    {  
        Map<String, Object> modelMap = new HashMap<String, Object>();
        List<Login> test=registrationDAO.getLoginInfo();

        modelMap.put("test1",test);

        return new ModelAndView("login",modelMap);
    }