【问题标题】:Create a searchable form in Play Framework with Java使用 Java 在 Play Framework 中创建可搜索的表单
【发布时间】:2020-03-21 05:32:00
【问题描述】:

我正在尝试使用带有 Java 的 Play 框架创建类似于以下 HTML 表单的内容:

https://www.w3schools.com/howto/tryit.asp?filename=tryhow_js_filter_list

但不是硬编码要搜索的可选值(如我上面给出的示例中的“Adele”),我计划查询一个包含数千或数千条记录的大型数据集,并允许用户搜索该数据集. 请回答我的以下 2 个问题:

  1. 这可以在 Play Framework 中实现吗
  2. 这样做会是不好的做法吗?让用户输入一个字符串并仅在他们点击“搜索”按钮时进行查询会更好吗?

【问题讨论】:

    标签: java forms performance playframework


    【解决方案1】:
    1. 这在 Play 中是 100% 可能的!瓶颈将是您的数据集。它是一个文件,一个 SQL 数据库,一个 nosql 数据库,一个搜索引擎,一个 web 服务查询。这就是问题所在。

    2. 值得商榷。如果您遇到瓶颈,请以您喜欢的任何方式实施它。您可以在触发 ajax 请求之前实现 200 毫秒超时。一个非常好的工具是select2,它可以让您轻松配置它。

    【讨论】:

    • 很高兴知道,我想我会尝试构建可搜索的选择列表,看看性能如何,并根据需要进行调整。 select2 正是我想要的,非常感谢!
    • 我可以问一个后续问题吗?如果我构建它以便用户可以通过键入进行搜索(如在我的问题中的 HTML 表单中),我试图在两种解决方案之间做出决定:1)在特定页面的负载上查询整个数据集。如果我这样做,我应该将结果存储在浏览器缓存中吗? 2)每次用户在搜索框中输入至少2个字符&&每次更改字母时,查询数据库。不过,这将是很多查询。你怎么看?
    • 这是一个非常广泛的问题。我会真正专注于实际创造一些东西,然后在我进行的过程中进行优化。 1) 老实说,将结果存储在浏览器缓存中对您的应用程序毫无帮助。它是实际发生缓存的服务器。 2) 值得商榷。这真的取决于你想做什么。查询数据库的次数越少越好。但有时你无法绕过它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-04-02
    • 1970-01-01
    • 1970-01-01
    • 2015-08-02
    • 1970-01-01
    • 2016-12-12
    • 1970-01-01
    相关资源
    最近更新 更多