【问题标题】:Best practices for passing params in Grails 3在 Grails 3 中传递参数的最佳实践
【发布时间】:2018-05-10 09:16:24
【问题描述】:

我正在构建一个 Grails 应用程序,该应用程序从加载 XML 文件开始,并在此基础上(动态)生成一个包含复选框和提交按钮的表单。当用户提交表单时,控制器接收参数(复选框)并调用读取 Excel 文件的方法以提取与参数匹配的记录。

换句话说,我试图实现的场景是用户提交一个带有一些复选框的表单(从 XML 文件动态生成),参数将被传递给运行脚本或服务,它使用这些参数作为标准从 xlsx 文件中检索一些行并在视图中显示这些行。

我的问题是这样做的最佳做法是什么?

  • 我将参数从控制器传递给服务(尽管我没有 有一个数据域类——它可以每天更新),并且 将此服务注入 BootStrap。
  • 我在外部 groovy 类(在 src 文件夹中)中调用了一个方法 使用参数从 Excel 文件中检索数据。

另外,解析 Excel 或 CSV 文件并提取数据与参数匹配的记录的最有效方法是什么? (我不能使用 DB 或域类,因为 Excel 文件可以随着时间的推移使用新列进行更新)。

【问题讨论】:

  • 您的问题似乎很模棱两可,传递参数有什么问题?
  • @NitinDhomse 我的问题是“这样做的最佳做法是什么?”我已经提到了两种情况,但我不确定哪一种遵循最佳实践。另外,如果您对我构建应用的方式提供任何反馈或建议,我将不胜感激。
  • 看起来您正在尝试读取 .xls 文件并将数据插入表中。您是否要上传 xls 文件?您在哪里遇到“传递参数”?
  • @devbd 没错。我试图实现的场景是用户提交一个包含一些复选框(基于 XML 文件生成)的表单,参数将被传递给运行脚本或服务的控制器,该控制器使用这些参数作为从 xlsx 文件中检索某些行并在视图中显示这些行的条件。我正在寻找建议,以根据最佳做法有效地做到这一点。
  • ** 一个服务,它使用这些参数作为标准来从 xlsx 文件中检索一些行** ...你能给出一些带有标准的代码来从 xlsx 文件中获取行吗?请记住,xlsx 不能用作关系数据库

标签: grails


【解决方案1】:

Grails 中的参数做得很好。但是,我建议您考虑使用命令对象。命令对象类似于 Grails 域,但它们不会将数据保存在物理数据库中。您可以轻松地将实例化的命令对象传递给外部 groovy 类(在 src 文件夹中),而不是传递参数。

您可以在此处找到更多详细信息:http://guides.grails.org/command-objects-and-forms/guide/index.html

【讨论】:

  • 感谢您的链接。我认为这不适用于我的情况。我不知道有多少参数会从视图传递到控制器。当我不知道属性时,我无法创建命令对象。我所知道的是,应该将参数视为要用于搜索 xlsx 文件和检索包含其中一些字符串的行的字符串列表。我用我正在尝试处理的场景更新了我的帖子。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-04-18
  • 1970-01-01
  • 2023-03-30
  • 2017-02-08
  • 1970-01-01
  • 2018-07-12
  • 1970-01-01
相关资源
最近更新 更多