如何在基于Wicket,Spring,Hibernate的Web应用程序中正确使用LoadableDetachableModel?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了如何在基于Wicket,Spring,Hibernate的Web应用程序中正确使用LoadableDetachableModel?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1245字,纯文字阅读大概需要2分钟。
内容图文
![如何在基于Wicket,Spring,Hibernate的Web应用程序中正确使用LoadableDetachableModel?](/upload/InfoBanner/zyjiaocheng/776/99321592193e4beca0f8deea0af46a08.jpg)
我正在开发一个基于Hibernate,Spring和Wicket的Web应用程序.
到目前为止,我实现了业务对象和持久层.该事务由Spring框架的事务拦截器管理.因此,DAO类的每个方法都封装在一个事务中.与单元测试一起实现这一点是直截了当的.
现在我来到Web应用程序部分,我也使用Spring进行依赖注入.与Wicket框架的@SpringBean注释一起,我在Wicket组件中注入了DAO.但是因为我对Wicket很新,所以在传递它们时使用正确的模型为我的业务对象时,我会有点卡住Wicket组件.
我尝试了LoadableDetachableModel但遇到了一些问题.我有一个页面来创建新的或编辑现有的业务对象,具体取决于页面的输入参数.如果参数中有id,则应从数据库加载相应的业务对象.如果没有参数,则应创建新的业务对象.该部分是一个应该被编辑的对象运行得相当好但是当应该创建一个新对象时,我填写Web表单并按下save,我得到一个NullPointerException.经过一些调试后,我发现LoadableDetachableModel无法返回业务对象的实例,因为重写的load()方法无法从数据库加载对象,因为它尚未保存,因此没有id.
所以现在我想知道如何解决这个问题. LoadableDetachableModel是正确的选择吗?是否可以将表单分成两个相互依赖的形式,每个表单使用不同的模型.所以只有编辑页面/表单使用LoadableDetachableModel?
解决方法:
Igor Vaynberg在the Wicket In Action blog对此以及一些相关问题进行了很好的解释.
该页面的最后一位处理此问题,基本上不使用LoadableDetachableModel,而是实现AbstractEntityModel,它允许更完整的控制.
内容总结
以上是互联网集市为您收集整理的如何在基于Wicket,Spring,Hibernate的Web应用程序中正确使用LoadableDetachableModel?全部内容,希望文章能够帮你解决如何在基于Wicket,Spring,Hibernate的Web应用程序中正确使用LoadableDetachableModel?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。