我试图创建一个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框架继承。
感谢。
答案 0 :(得分:2)
您想将welcome.html从views/Application
移至views/App
。
答案 1 :(得分:2)
试过你的例子,它运作得很好。将Welcome.html文件放在错误的目录中,并得到与您相同的错误。但随后创建了views / App目录并将其放在那里,它起作用了。