2010-04-03 104 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);