gpt4 book ai didi

java - Spring MVC 中的错误 - 显示具有选择项的 Modal 属性的表单

转载 作者:太空宇宙 更新时间:2023-11-04 07:38:20 24 4
gpt4 key购买 nike

这是我之前问题的延续:Spring MVC with Hibernate Data Saving Error .

之前的错误已根据那里的答案解决。现在我想在表单中显示保存的值。

    @RequestMapping("manage")
public String manage(@ModelAttribute Automotive automotive,
BindingResult result, ModelMap model) {

List<Company> companies = companyService.listAllCompanies();
model.addAttribute("companies", companies);

automotiveService.addAutomotive(automotive);
return "automotive/index";
}

我的观点是

<form:form action="/Automotive/manage" modelAttribute="automotive">
<form:hidden path="id" />
Name : <form:input path="name" />
Description : <form:input path="description" />
Type : <form:input path="type" />
Company : <form:select path="company" items="${companies}"
itemLabel="name" itemValue="id" title="Company"/>
<input type="submit" />
</form:form>

我能够正确保存数据,但返回时显示抛出错误:

org.apache.jasper.JasperException: org.hibernate.LazyInitializationException: could not initialize proxy - no Session


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)
biz.canisrigel.automirror.model.Company_$$_javassist_0.toString(Company_$$_javassist_0.java)
org.springframework.util.ObjectUtils.nullSafeToString(ObjectUtils.java:610)

更新

在使用 Kevin 的 OpenSessioninViewFilter 建议时,我收到错误,因为我使用 session 工厂接口(interface),所以没有定义 [javax.persistence.EntityManagerFactory] ​​类型的合格 bean。

最佳答案

您尝试访问 View 中没有 Hibernate session 的延迟加载实体,因此它无法调用数据库。

Spring 提供了一个OpenSessionInViewFilter,它将Session 扩展到 View 。它是通过将以下内容添加到您的 web.xml 来配置的:

<filter>
<filter-name>OpenSessionInViewFilter</filter-name>
<filter-class>org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter</filter-class>
</filter>

<filter-mapping>
<filter-name>OpenSessionInViewFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

关于java - Spring MVC 中的错误 - 显示具有选择项的 Modal 属性的表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16458068/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com