我有这个jsp代码。
<c:forEach var="item" items="${UsersList}">
<tr>
<td><c:out value="${item.userId}" /></td>
<td><c:out value="${item.userName}" /></td>
<td><c:out value="${item.car}" /></td> //Here , I am getting exception
</tr>
</c:forEach>
UserList由数据类型为“Car”的名为“car”的属性组成
用户的Pojo类:
@Entity
@Table(name = "Users")
public class Users implements java.io.Serializable {
private int userId;
private Car car;
private Groups groupId;
private UserType userType;
private String userName;
//getters and setters
}
我使用的是Spring MVC框架。在页面加载时,我的应用程序应该显示一个包含用户列表的表格。在controller中,我查询用户列表,并将其添加到ModelAndView对象中
控制器代码:
List<Users> userList = service.getUserList(); //this will get list of users
//System.out.println("Userlist ==" +userList.size());
mv.addObject("UsersList" , usersList);
//skipped remaining code
当我尝试不使用car(tabledata标记)时,JSP正在毫无例外地运行,并在表中显示用户列表。如果我尝试添加car(tabledata标签),那么我会得到一个异常
HTTP Status 500 - An exception occurred processing JSP page /WEB-INF/pages/CreateUser.jsp at line 199
org.apache.jasper.JasperException: An exception occurred processing JSP page /WEB-INF/pages/CreateUser.jsp at line 199
196:<tr>
197:<td><c:outvalue="${item.userId}" /></td>
198:<td><c:out value="${item.userName}" /></td>
199:<!-- <td><c:out value="${item.car}" /></td> -->
200:<td><c:out value="${item.modifiedDate}" /></td>
201:</tr>
202:</c:forEach>
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWra pper.java:568)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:4 70)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
org.springframework.web.servlet.view.InternalResourceView.renderMergedOutput Model(InternalResourceView.java:168)
org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:3 03)
org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.j ava:1244)
org.springframework.web.servlet.DispatcherServlet.processDispatchResult(Disp atcherServlet.java:1027)
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServl et.java:971)
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServle t.java:893)
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkSer vlet.java:970)
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java :861)
javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.ja va:846)
javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
root cause
org.hibernate.LazyInitializationException: could not initialize proxy - no Session
org.hibernate.proxy.AbstractLazyInitializer.initialize(AbstractLazyInitializer.java:149)
org.hibernate.proxy.AbstractLazyInitializer.getImplementation(AbstractLazyInitializer.java:195)
org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:185)
com.bdp.pojo.Role_$$_javassist_11.toString(Role_$$_javassist_11.java)
org.apache.taglibs.standard.tag.common.core.OutSupport.out(OutSupport.java:178)
org.apache.taglibs.standard.tag.common.core.OutSupport.doStartTag(OutSupport.java:99)
org.apache.jsp.WEB_002dINF.pages.CreateUser_jsp._jspx_meth_c_005fout_005f2(CreateUser_jsp.java:667)
org.apache.jsp.WEB_002dINF.pages.CreateUser_jsp._jspx_meth_c_005fforEach_005f0(CreateUser_jsp.java:591)
org.apache.jsp.WEB_002dINF.pages.CreateUser_jsp._jspService(CreateUser_jsp.java:264)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:168)
org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:303)
org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1244)
org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:1027)
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:971)
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:893)
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:861)
javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
org.springframeweb.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
您收到错误LazyInitializationException
<代码>用户懒惰汽车中的对象
对象<代码>服务。getuserlist()方法可以通过获取
汽车
对象引入。
抓取策略
获取类型。懒惰是随需应变的
获取类型。迫不及待
@OneToOne(fetch=FetchType.EAGER)
当你想一直把用户对象作为汽车的对象时。
service.getUserList()
请写。
编辑:
示例
getUserList
方法:
public List<Users> getUserList(){
String sql = " SELECT user from Users user left join fetch user.car ";
Query query = entityManager.createQuery(sql);
return query.getResultList();
}
因为您使用的是hibernate惰性初始化,所以每当您将主对象返回到JSP时,它都会尝试获取子类。这不会发生,因为会议将结束。
因此,将您的获取策略更改为Eager
:
关于汽车的getter方法:
@OneToOne(fetch=FetchType.EAGER)
这将导致在获取主类时立即获取car
。
在查询时制作:
List<Users> items = session.createCriteria(Users.class)
.setFetchMode("car", FetchMode.JOIN).
.createAlias("car", "car").
.list();
我将一些Javascript定义为: 这是从函数调用的: 当页面尝试加载时,我在控制台中得到以下信息: 错误:缩小的反应错误#31;访问https://reactjs.org/docs/error-decoder.html?invariant=31&args[]=object%20with%20keys%20%7b1%7d&args[]=获取完整消息,或使用非缩小的开发环境获取完整错误和其他有用警
问题内容: 如何用对象类型的列表中的值填充JTable。我的代码如下所示: 我已经有了列,列表将来自schedule变量?考虑这些列,如何将其放到表中? 问题答案: 看一下DefaultTableModel。您可以遍历List并为每一行创建Object数组。
postgres是否试图填充CSV中的所有列并抱怨,因为它没有在CSV中找到具有非空约束的列?如何告诉postgres不要担心其他列,而是将命令中声明的name列复制到表中?
我正在制作一组自定义swing组件,这些组件实现各种属性,如标志或。我在尝试填充各种自定义组件的,然后根据每个组件的对列表进行排序时遇到问题。 我试图做到这一点的方法是让我的组件实现一个名为的接口,该接口实现一个方法。然后使用我的
我一直在看教程,我似乎无法得到一个表来填充。我也在使用net beans和scenebuilder。如有任何帮助,我们将不胜感激!挣扎了5个小时。 下面是的代码 以下是我的主要内容:
在SpringMVC项目的控制器中,我确实有一个列表,我将其放在模型映射中,如下所示。 现在我想在thymeleaf视图中使用post方法动态填充它。为此,我使用了一个JavaScript脚本。这不是所有的html代码,但为了简单起见,我只添加了JS部分。 这是测试有效的后方法。 它向我显示了错误:错误解析模板[],模板可能不存在或任何已配置的模板解析程序都无法访问,这肯定是因为:。有没有办法动态