0

这是我第二次问这个问题。我没有找到解决方案。

带有 AspectJ 的 AOP 是否适用于从 JSF2 中的视图调用的托管 Bean 中的方法?

只是想知道这是否可能。

我想在单击按钮时使用拦截器发送电子邮件,单击使用托管 bean 方法在我的数据库中添加内容。我想用带有 Aspect J / AOP SPRING 的 Service Mailer 来拦截这个方法。我觉得语境有问题。因为在 main 中,拦截正在工作,AOP 被识别但是当我单击 jsf2 视图上的按钮时没有任何反应。

谢谢

我已经在这里发帖了

4

1 回答 1

0

带有@Aspect的OK AOP现在正在工作,我真的不明白为什么......

我首先在 faces config 中声明了我的 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>
于 2013-09-25T11:17:11.940 回答