2010-04-03 5 views
0

D'abord une certaine précondition à ma question, j'utilise struts2 + tiles2 + toplink. PAS de printemps du tout.struts 2 haricot n'est pas créé

Le scénario le plus simple - est d'afficher la liste des entités sur la page. Pour optimiser la résolution de EntityManager de JPA, je voudrais créer helper (JPAResourceBean) qui implémente la charge paresseuse de gestionnaire d'entité. Pour ce but, je vais utiliser la déclaration de haricots de struts2:

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

Pourquoi le haricot n'instancié ni en session? (J'utilise s: propriété juste pour le débogage)

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

ni dans la liste des haricots plaine:

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

Peut être la deuxième partie de la question est - comment résoudre ce grain de code java?

Répondre

0

J'ai trouvé une solution.

La question est à l'aide de barres de charge paresseuse (résolution sur demande) approche instancier haricots, donc mon JPAResourceBean a été résolu avec succès quand je l'ai accédaient sur la syntaxe suivante:

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