gpt4 book ai didi

webforms - Struts 2 CRUD 的最佳实践

转载 作者:行者123 更新时间:2023-12-02 22:11:55 25 4
gpt4 key购买 nike

所以我在网络上找到了一堆 Struts 2 CRUD 示例:

Struts 2 CRUD Demo

还有几本书:

Apache Struts 2 Web 应用程序开发 ISBN:978-1847193391

Struts 2 设计与编程 ISBN:978-0980331608

但是它们在如何形成人口方面都略有不同。

一些人建议实现 Java 接口(interface) ModelDriven 或 Prepareable 来调用准备函数来预填充任何所需的数据成员。

其他人建议创建您自己的 PrepareForUpdate 操作,该操作调用预填充函数,然后重定向到主编辑 View 。

他们还非常了解如何传递对象标识符以指示要检索哪个对象进行编辑。有些人建议拦截其他人在 URL 参数中抛出的内容,并通过 ActionContext 检索它,或者通过 s:hidden 字段传递它。

是否有在 Struts 2 中进行填充的最佳实践方法?

上述方法的优点/缺点是什么?

最佳答案

我不知道有任何记录在案的最佳实践,但我已经使用 Webwork 和 Struts2 大约三年了,所以我可以告诉您我在项目中使用了什么。顺便说一句,您链接到的 CRUD 演示文档让我觉得有点过时了(我是从项目站点意识到的)。

我将 CRUD 工作分为三个不同的操作:

  • 列出实体的操作。它支持分页并填充某种类型的表格或 GridView 。
  • 处理添加和编辑功能的操作。使用 prepare() 方法设置下拉菜单等。
  • 处理删除功能的操作。

Some suggest implementing the Java interfaces ModelDriven or Prepareable to call come prepare function to pre-populate any needed data members.

尽管我不使用 ModelDriven 接口(interface),但这是我提倡的方法。详情请查看how Struts2 ModelDriven interface works以及对我的回答的评论。是否使用 ModelDriven 只是个人选择。另外,请查看why is model-driven action preferred over object backed bean properties.

Others suggest creating your own PrepareForUpdate action that calls a pre-populate function then redirects to the main edit view.

我之前没有见过这种情况,根据你的描述,我会避免这种技术。执行重定向并创建额外的 HTTP 请求来实现与 prepare() 方法旨在处理的相同内容似乎很浪费。

They also very on how to pass around an object identifier to indicate what object to retrieve for editing.

只需在 URL 或表单中传递标识符即可。这是 Web 应用程序的标准方法。

关于webforms - Struts 2 CRUD 的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4820567/

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