Fork me on GitHub

Basic concepts: route - controller - view

A route

路由文件是每个HTTP请求的入口点. 在某种程度上,必须在诸如/index.html或/person.json之类的URL之间映射到您的应用程序中实际执行某些操作的对象. 这是在路由文件中定义的.

按照约定,每个Ninja应用程序都包含以下Java文件: conf / Routes.java . Routes.java包含应用程序的所有路由.

最小路由文件如下所示:

public class Routes implements ApplicationRoutes {

    @Override
    public void init(Router router) {

        router.GET().route("/").with(ApplicationController::index);

    }
}

这仅意味着对/的请求将由称为ApplicationController的类及其方法索引处理 .

…但是那个ApplicationController是什么样的?

A controller

控制器只是简单的Java类,应放在程序包控制器的下面 .

package controllers;

@Singleton
public class ApplicationController {       

    public Result index() {
        return Results.html();

    }
}

控制器方法始终返回Result . 结果 (末尾带有" s")只是一个小帮手,可让您轻松创建结果. 对于应用程序控制器,结果是HTML响应.

现在我们有了方程式的一侧-从忍者到通往我们控制器的路线. 但是Ninja如何生成HTML输出?

A view

视图是包内的意见声明. 按照约定,控制器的视图始终存储在views / CONTROLLER_NAME / METHOD_NAME中 . 在我们的情况下,将从views / ApplicationController / index.ftl.html中检索视图 .

一个非常简单的视图如下所示:

<html>
    <body>
        <h1>Hello world</h1>
    </body>
</html>   

Conclusion

这是Ninja的基本概念,这是启动自己的应用程序所需的全部. Ninja的基本操作流程始终是Route => Controller => View .

当然,视图不仅可以呈现HTML,还可以呈现JSON或XML. 当然,您也可以使用视图来渲染模型. 在文档的以下各节中将对此进行更多介绍.


by  ICOPY.SITE