【问题标题】:How can I post a form and show the result on the same page with Play framework?如何使用 Play 框架发布表单并在同一页面上显示结果?
【发布时间】:2010-12-07 15:43:16
【问题描述】:

我已经玩了几天 Play 框架,它看起来真的很酷。但是,当我想在页面上创建表单、发布表单并在同一页面上显示结果时遇到了一些问题(表单仍在页面上)。有人知道这是否可以通过 Play 实现,如果可以:如何实现?

编辑: 我应该解释得更好。该表单是搜索式表单而不是保存式表单。我希望能够搜索一些东西,让结果出现在表单下,并且仍然有用户在表单中填写的值(因为如果你输入了一些不验证的东西。我试图设置params 对象上的值直接在搜索操作中,但当搜索操作调用新操作时它会消失。

【问题讨论】:

    标签: forms playframework


    【解决方案1】:

    第二次尝试未经测试的答案,希望这适合您的问题。

    public static void search(String criteria1, String criteria2) {
    ....
        params.flash();
    }
    

    搜索.gsp

        <p id="criteria1-field">
            <label for="criteria1">&{'criteria1'}</label>
            <input type="text" name="criteria1" id="criteria1" value="${flash.criteria1}" />
       </p>
       <p id="criteria2-field">
        <label for="criteria2">&{'criteria2'}</label>
        <input type="text" name="criteria2" id="criteria2" value="${flash.criteria2}" />
       </p>
    

    【讨论】:

    • 这就是我最终得到的结果,而且效果很好。谢谢!
    【解决方案2】:

    嗯,这很简单。你输入routes.conf一个

    GET /myPageWithForm   MyController.read     
    POST /myPageWithForm  MyController.save
    

    在阅读中,您读取数据并使用表单呈现您的页面。在保存中,您保存数据并通过read() 重定向到读取;

    希望这能回答你的问题。

    【讨论】:

      猜你喜欢
      • 2023-04-01
      • 1970-01-01
      • 2015-06-23
      • 1970-01-01
      • 2018-10-07
      • 1970-01-01
      • 2014-03-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多