gpt4 book ai didi

java - 在主视图模板的头部创建表单

转载 作者:太空宇宙 更新时间:2023-11-04 07:48:21 24 4
gpt4 key购买 nike

我有一个 View 模板,其中包含标题、菜单、页脚(我将此文件称为主模板)。该模板由具有某些内容的其他页面调用。我决定添加用于登录菜单的表单。我的第一个想法是从 View 文件传递表单,该表单通过 Controller 通过参数渲染到主模板中,但我不需要每次在每个页面上显示登录表单,所以这不是我的解决方案。

我有两个解决方案,但都有一个问题:

  1. 我在主模板中创建了表单,其中包含表单和输入的帮助程序以及纯 html 的按钮

    @helper.form(routes.Application.loginPosted,'class -> "navbar-form pull-right"){                                
    <input class="span2" type="text" placeholder="email" name="email">
    <input class="span2" type="password" placeholder="passwd" name="passwd">
    <button type="submit" class="btn btn-primary">Login</button>
    }

    我在 Controller 中将其作为 DynamicForm 处理,并希望将其转换为代表模型的形式,以便于验证

    DynamicForm requestData = form().bindFromRequest();
    Form<User_Login> loginFormFilled = form(User_Login.class);
    loginFormFilled.fill(new User_Login(requestData.get("email"), requestData.get("passwd")));

    但是loginFormFilled.get().email(还有passwd)总是空白,我不明白为什么。

  2. 我想在主模板中创建表单作为模型表示,但我无法编写可编译的代码(它的 logForm 有问题,我知道这是不正确的,但我尝试了很多组合,但无法创建有效的表单)

    @val logForm = new Form[User_Login]
    @helper.form(routes.Application.loginPosted,'class -> "navbar-form pull-right"){
    @helper.inputText(
    logForm("email")
    )
    @helper.inputPassword(
    logForm("passwd")
    )
    <button type="submit" class="btn btn-primary">Login</button>
    }

最佳答案

您不需要使用DynamicForm用于填充 Form<User_Login> 的装订您可以立即执行此操作(这可能是您的解决方案):

public static Result loginApproach(){
Form<User_Login> loginForm = form(User_Login.class).bindFromRequest();

String formToString =
loginForm.get().email + " with pass: " + loginForm.get().passwd;

return ok(formToString);
}

关于java - 在主视图模板的头部创建表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14925833/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com