[英]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.