java - 使用单独的 Controller 进行拦截

标签 java playframework playframework-1.x

我创建了一个名为 InterceptionLogger.javaController,其中仅包含 Interception 方法。另一个 ControllerApplication 将包含所有 action 方法,并使用 @With 来使用 Interception 注释。

这是Application.java Controller :

@With(InterceptionLogger.class)
public class Application extends Controller {

public static void index() {
    System.out.println("Inside index!!!");
    render();
}

public static void welcome(String txtName){     
    render(txtName);
}

如果InterceptionLogger.java Controller 是这样的:

public class InterceptionLogger extends Controller {   

@Before
static void logBefore(){
    System.out.println("Inside \"logBefore\" method of App Controller");
}

@After
static void logAfter(){
    System.out.println("Inside \"logAfter\" method of App Controller");
}

}

当我运行应用程序时,输出是:

Inside "logBefore" method of App Controller
Inside index!!!
Inside "logAfter" method of App Controller

很好,正如预期的那样。

但是如果我将 InterceptionLogger.java 更改为:

public class InterceptionLogger extends Controller {   

@Before(only="welcome")
static void logBefore(){
    System.out.println("Inside \"logBefore\" method of App Controller");
}

@After(only="index")
static void logAfter(){
    System.out.println("Inside \"logAfter\" method of App Controller");
}

}

然后我得到index输出:

Inside index!!!

在这种情况下,为什么 Inside "logAfter"method of App Controller 语句没有打印在控制台中?

如何让它发挥作用?

最佳答案

玩吧!正在寻找当前 Controller 中拦截的方法。如果该方法位于另一个 Controller 中,您需要提供完整路径:

@Before(only="Application.welcome")
static void logBefore(){
    System.out.println("Inside \"logBefore\" method of App Controller");
}

@After(only="Application.index")
static void logAfter(){
    System.out.println("Inside \"logAfter\" method of App Controller");
}

关于java - 使用单独的 Controller 进行拦截,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14669964/

相关文章:

java - 错误 : Class "test2" is mapped, 但不包含在任何

java - ActionBarSherlock 横向标签

java - 使用 Akka 远程系统玩 2.0.2

java - 将我的存储库推送到 heroku 失败

java - 为什么所有领域在 playframework 中都是公开的?

java - 即使使用 jar 也无法解析 Spring ApplicationContext

java - 如何使用 Java 8 流按 block 读取文本文件

scala - 在 Slick 中捕获 future 失败的 SQL 错误

java - Play Framework : Edit welcome tag

groovy - 如何使用 play 框架 1.4.2 迭代模板中的 map