2012-01-30 33 views
1

我想在tomcat6上編織jsp文件。我寫的一個方面:無法在jsp上調用aspectj

public aspect LoggingAspect { 
    public pointcut requestcall() : call(* *.getParameter(..)) && 
     within(LoggingAspect); 

Object around() : requestcall() { 
    Signature sig = thisJoinPointStaticPart.getSignature(); 
    System.out.println("Start2 [" + sig.getDeclaringType().getName() + 
    "." + sig.getName() + "]"); 

    Object ret = proceed(); 

    System.out.println("End2 [" + sig.getDeclaringType().getName() + "." 
      + sig.getName() + "]"); 
    return (ret instanceof String) ? ((String) ret).toUpperCase() : ret; 
    } 
} 

和JSP代碼是:

<body> 
<%=request.getParameter("param") %> 
</body> 

但它不叫。

+0

對不起。我已經解決了這個問題。 這是VM參數選項的錯誤。 我有VM選項來輸入「-javaagent:/path/to/aspectjweaver.jar」。 所以問題已經解決。 對不起,謝謝。 祝你好運! – windykc 2012-01-30 11:45:46

回答

0

我相信你必須使用Load Time Weaver,但是你可以通過用Servlet過濾器包裝你的請求來做同樣的事情。

+0

埃米爾Pashazadeh。是! servlet過濾器可以過濾請求,但我想使用aspectj。 – windykc 2012-01-30 05:40:36