繁体   English   中英

播放框架Controller继承

[英]Play framework Controller Inheritance

我试图创建一个Controller继承来检查Interceptions如何工作的。

默认控制器即Application.java如下所示:

@Before
static void display(){
    System.out.println("Interception method \"Before\" invoked!!!");
}

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

我创建了一个名为App.java的新控制器,它是这样的:

@With(Application.class)

public class App extends Controller {

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

}

这是index.html文件:

#{extends 'main.html' /}
#{set title:'Home' /}

<form action="@{App.welcome()}" method="get">
Enter your name: <input type="text" name="txtName">
<input type="submit" value="Submit">
</form>

这是Welcome.html文件:

#{extends 'main.html' /}
#{set title:'Home' /}

Welcome ${txtName?:'Guest'}

我在路由文件中添加了该条目:

GET     /InterceptionDemo                       controllers.App.welcome

输入名称并单击index.html的按钮时,出现错误:

The template App/welcome.html does not exist.

我正在尝试使用App.java控制器,但无法正常工作。 welcome.html文件位于views/Application文件夹下,其中也存在index.html

请让我知道如何使其工作...这只是一个垃圾应用程序,尝试将其用于Play框架继承。

谢谢。

您想要将welcome.html从views/Application移到views/App

尝试了您的示例,并且效果很好。 将Welcome.html文件放在错误的目录中,并得到与您相同的错误。 但随后创建了views / App目录并将其放置在该目录中,并且该目录起作用了。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM