首先是我的问题的一些先决条件,我正在使用struts2 + tiles2 + toplink。没有春天。
最简单的方案 - 显示页面上的实体列表。为了优化解析JPA的EntityManager,我想创建实现实体管理器延迟加载的helper(JPAResourceBean)。为此,我将使用struts2的bean声明:
<bean name="myfactory" class="my.model.JPAResourceBean"
scope="session" optional="false"/>
为什么bean不会在会话中实例化? (我正在使用s:property进行调试)
...
<s:property value="#session.myfactory" default="buka.1"/>
...
也不是在普通bean列表中:
...
<s:property value="#myfactory" default="buka.2"/>
...
问题的第二部分可能是 - 如何从java代码解析这个bean?
答案 0 :(得分:0)
我找到了解决方案。
问题是struts使用延迟加载(按需解析)方法来实例化bean,所以当我通过以下语法访问它时,我的JPAResourceBean已成功解析:
ActionContext.getContext().getContainer().getInstance(JPAResourceBean.class);