没有创建struts 2 bean

时间:2010-04-03 10:36:15

标签: session jpa struts2 javabeans

首先是我的问题的一些先决条件,我正在使用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?

1 个答案:

答案 0 :(得分:0)

我找到了解决方案。

问题是struts使用延迟加载(按需解析)方法来实例化bean,所以当我通过以下语法访问它时,我的JPAResourceBean已成功解析:

ActionContext.getContext().getContainer().getInstance(JPAResourceBean.class);