我必须通过struts 1中的反射实现拦截器。 拦截器出现在Struts 2中,并且struts 1中没有拦截器,但是有一些方法可以实现这种行为。我找到了两种方法:
Struts Action Invocation Framework(SAIF): http://struts.sourceforge.net/saif/#interceptor-class 但关于它的信息非常少。
AOP(方面:org.aspectj)
解决此问题的最佳方法是什么?还有其他方法吗?
答案 0 :(得分:0)
好吧,如果您没有使用Struts 1,我建议使用Spring框架。如果你想使用Spring(3.2.9)的(不是很旧的)版本,它确实可以与Struts 1一起使用。在您了解它的同时,请查看Spring MVC:)
Spring拥有出色的AOP支持,因为它的大部分"魔法"用AOP执行。
以下是记录方法条目和退出的记录器示例:
<aop:config>
<aop:advisor advice-ref="loggingAdvisor"
pointcut="execution(public * com.example.*(..))" />
</aop:config>
<bean id="loggingAdvisor"
class="org.springframework.aop.interceptor.CustomizableTraceInterceptor">
<property name="loggerName" value="logger-name" />
<property name="enterMessage" value="Entering $[methodName]($[arguments])" />
<property name="exitMessage" value="Leaving $[methodName](): $[returnValue]" />
</bean>