这是我第二次提出这个问题。我找不到解决方案。
使用AspectJ的AOP是否可以使用从JSF2中的视图调用的Managed Bean中的方法?
只想知道是否可能。
我想使用拦截器在单击按钮时发送电子邮件,click使用托管bean方法在我的数据库中添加内容。我想用带有Aspect J / AOP SPRING的Service Mailer拦截这个方法。我认为存在背景问题。因为在主要的拦截工作中,AOP被识别,但是当我点击jsf2视图上的按钮时没有任何事情发生。
由于
我已发布here
答案 0 :(得分:0)
OK AOP与@Aspect现在正在工作,我真的不明白为什么......
我首先在faces配置中声明我的bean,认为它们是在春天注入Beans.xml句柄。
<managed-bean>
<managed-bean-name>patient</managed-bean-name>
<managed-bean-class>com.clb.genomic.lyon.beans.AddParticipant</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
<managed-property>
<property-name>participantBo</property-name>
<value>#{participantBo}</value>
</managed-property>
<managed-property>
<property-name>sendMailBo</property-name>
<value>#{sendMailBo}</value>
</managed-property>
</managed-bean>
我直接在Beans.xml中移动了声明....现在它可以工作了。
<aop:aspectj-autoproxy proxy-target-class="true" />
<bean id="patient" class="com.clb.genomic.lyon.beans.AddParticipant" scope="request">
<property name="participantBo">
<ref bean="participantBo"/>
</property>
<property name="sendMailBo">
<ref bean="sendMailBo"/>
</property>
</bean>