5

我有一个播放 GET 路线,如何以 scala html 形式使用它?

路线

GET  /service/register  controllers.WebRegister.register(plan?="")

斯卡拉 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='&#xe6660;' class="btn btn-primary btn-large" value="Sign Up">
       </div>
}

它给了我一个错误:

类 ReverseWebRegister 中方法注册的参数缺失;[错误] 如果您想将其视为部分应用的函数,请在此方法后面加上 `_'

4

1 回答 1

6

您不需要传递它两次(通过路由参数和表单的隐藏字段),因此您有两种解决方案:仅使用路由 arg:

路由的论点

路线

GET  /service/register  controllers.WebRegister.register(plan: String?="")

模板

@form(action = routes.WebRegister.register("free")) {
   <input type="submit">
}

当然,如果你只有这一个字段,你可以直接使用链接:

<a href='@routes.WebRegister.register("free")'>Register free</a>

爪哇动作

public static Result register(String plan) {
    return ok(plan);
}

仅表单域

从控制器中的请求中删除路由和绑定字段的参数:

路线

GET  /service/register  controllers.WebRegister.register

模板

@form(action = routes.WebRegister.register) {
   <input type="hidden" name="plan" value="free">
   <input type="submit">
}

爪哇动作

public static Result register() {
    return ok(form().bindFromRequest().get("plan"));
}
于 2013-02-04T08:51:20.123 回答