Play 2.0框架 - POST参数

Hac*_*ckU 5 model-view-controller url-routing playframework

我正在尝试将参数POST到Action,并在路由中写道:

# Home page
GET    /                         controllers.Application.index()

POST   /login/name:/password:    controllers.Application.login(name, password)
Run Code Online (Sandbox Code Playgroud)

我有一个动作

public static Result login(String name, String password) {
    return ok(name + " "  + password);
}
Run Code Online (Sandbox Code Playgroud)

我的表格是

<form action="/login" method="post">

    <input name="name" type="text" id="name">
    <input name="password" type="password" id="password">
    <input type="submit" value="Login">

</form>
Run Code Online (Sandbox Code Playgroud)

它不起作用

如有要求 'POST /login' [Missing parameter: name]

我究竟做错了什么?

How*_*ard 3

只需将路由更改为以下内容即可:

POST   /login    controllers.Application.login(name, password)
Run Code Online (Sandbox Code Playgroud)

通过在路由路径中不包含动态名称(:名称和:密码),假设变量来自请求(即:您的 html 输入)

您收到的错误表明名称和密码没有出现在 url 路径中...这是正确的,因为您在路由中指定的路径指示路径应如下所示:

/登录/我的名字/我的密码

请检查http://www.playframework.org/documentation/2.0.1/JavaRouting并查看名为“调用操作生成器方法”的部分