播放框架Controller继承

时间:2013-02-02 18:28:07

标签: java playframework playframework-1.x

我试图创建一个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框架继承。

感谢。

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:2)

试过你的例子,它运作得很好。将Welcome.html文件放在错误的目录中,并得到与您相同的错误。但随后创建了views / App目录并将其放在那里,它起作用了。

相关问题