play framework学习笔记之confroutes file 路径配置文件

    技术2022-05-20  50

    例如:

     

    GET   /    Application.index

    就是指当  localhost:9000的时候 就会指向  Application.index  这个controller的 action  method

    记住 play framework是非常极端标准的MVC 和外界的交互一切都是controller在控制着view和model所以你无法直接访问 view。当然在1.2中这也不是绝对的了比如

    GET     /home                   staticFile:/public/html/index.html  就可以直接访问静态页面资源了.

     

    package controllers;

    import play.mvc.*;

    public class Application extends Controller {

    public static void index() {

    render();

    }

    }

     

    render()      就是渲染页面的方法,它会基于CoC,去找views文件夹下的Application文件夹下的index.html,

    之所以有这样的CoC其实是因为

    conf/routes file 路径配置文件中有这么一句

    # Catch all

    *       /{controller}/{action}                  {controller}.{action}

     

    捕获了所有的这种形式的路径

     

    当然如果你对这样的 URL 不爽,你也可以配置 别名路径。

    比如

     

    controller里面的action方法是

     

     

        public static void run(long num){

        render(1);

        }

     

     

     

    则在上一个页面

    <a href="@{Application.run(1)}">run</a>

     

    我们再routes里面写到

     

    GET    /index/{num}        Application.run

     

     

    注意他必须在

    # Catch all

    *       /{controller}/{action}                  {controller}.{action}

    之前

    这样我们就能生成漂亮的RESTful风格的URL了

    比如    http://localhost:9000/index/1

     

    否则会生成旧的 http://localhost:9000/application/run?num=1

     

     

    在下一个页面拿数据

        public static void run(long num){

        String n="oo";

        render(n);

        }

    则在页面就用

    ${n} 来取数据

     

     

     

    最后发现一个现象 play的rout路径是可以不区分大小写的,都兼容


    最新回复(0)