2013-02-02 190 views
2

我想創建一個控制器繼承來檢查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 fi樂:

#{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

錯誤消息告訴你Play在哪裏查找html文件:in [views /] App/welcome.html –

回答

2

試過你的例子,它工作得很好。將Welcome.html文件放在錯誤的目錄中,並且與您的錯誤相同。但隨後創建了views/App目錄並將其放置在那裏,並且工作。

2

您想將welcome.html從views/Application移動到views/App