2010-04-03 66 views
0

首先我的问题的一些先决条件,我使用struts2 + tiles2 + toplink。根本没有弹簧。struts 2 bean没有创建

最简单的场景 - 是显示页面上的实体列表。为了优化解析JPA的EntityManager,我想创建一个实现实体管理器延迟加载的helper(JPAResourceBean)。为此,我将使用struts2的bean声明:

<bean name="myfactory" class="my.model.JPAResourceBean" 
     scope="session" optional="false"/> 

为什么bean没有在会话中实例化? (我使用的是S:物业只是为了调试)

... 
<s:property value="#session.myfactory" default="buka.1"/> 
... 

也不纯豆列表:

... 
<s:property value="#myfactory" default="buka.2"/> 
... 

可能是问题的第二部分 - 如何解决从Java代码这个bean?

回答

0

我找到了解决方案。

此事是使用延迟加载(解决需求)的方式来实例化豆,所以我JPAResourceBean成功地解决了撑的时候,我在下面的语法访问它:

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