我有一个玩GET路线,如何在scala html表单中使用它?
路线
GET /service/register controllers.WebRegister.register(plan?="")
Run Code Online (Sandbox Code Playgroud)
scala html
@form(action = routes.WebRegister.register, 'style -> "width: 320px;") {
<fieldset>
<input type="hidden" name="plan" value="FREE" id="plan">
</fieldset>
<div class="form-actions plan-form peer-btn-center peer-m-v-t">
<input type="submit" data-icon='󦙠' class="btn btn-primary btn-large" value="Sign Up">
</div>
}
Run Code Online (Sandbox Code Playgroud)
它给了我一个错误:
在类ReverseWebRegister中缺少方法寄存器的参数; [error]如果要将其视为部分应用函数,请使用"_"跟随此方法
您不需要传递两次(通过路由参数和表单的隐藏字段),因此您有两个解决方案:仅使用route arg:
路线
GET /service/register controllers.WebRegister.register(plan: String?="")
Run Code Online (Sandbox Code Playgroud)
模板
@form(action = routes.WebRegister.register("free")) {
<input type="submit">
}
Run Code Online (Sandbox Code Playgroud)
当然,如果你只有这一个字段,你可以直接使用链接:
<a href='@routes.WebRegister.register("free")'>Register free</a>
Run Code Online (Sandbox Code Playgroud)
java动作
public static Result register(String plan) {
return ok(plan);
}
Run Code Online (Sandbox Code Playgroud)
从路由中删除参数并从控制器中的请求绑定字段:
路线
GET /service/register controllers.WebRegister.register
Run Code Online (Sandbox Code Playgroud)
模板
@form(action = routes.WebRegister.register) {
<input type="hidden" name="plan" value="free">
<input type="submit">
}
Run Code Online (Sandbox Code Playgroud)
java动作
public static Result register() {
return ok(form().bindFromRequest().get("plan"));
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6516 次 |
| 最近记录: |