rgu*_*tte 3 javascript spring spring-mvc thymeleaf
我正在使用 spring-mvc 和 thymeleaf 开发内部工具。
该工具的一部分用于创建我们保存在数据库中的实体。这个实体相当复杂;它包含许多属性和关系。其中一些关系包含列表和其他属性。
我有两个限制:
现在,我并不是真的要问一个具体的问题。我了解百里香叶、弹簧 @ModelAttribute 等。
我的问题主要是您选择哪种策略或如何处理真正复杂的对象创建。
现在我可以看到 3 种方法:
使用 thymeleaf 渲染页面。每次需要将新元素添加到列表中时,我都会使用 Ajax 在服务器上添加新元素并重新渲染特定片段。所以用我的@ModelAttribute 来回和服务器做,最后才保存。
使用 thymeleaf 渲染基本页面。使用 JavaScript 创建 html 元素,而不是提交给 @ModelAttribute,我将表单序列化为 JSON 并将此 JSON 提交给服务器。(一种客户端模型)
使用 thymeleaf 渲染基本页面。当我需要添加列表项时,使用 JavaScript 动态创建 html 元素(确保我输入了正确的 name="" 以适合我的 Java 表单对象)并在最后提交整个内容。
我个人在 1 或 2 之间不确定。我觉得使用 JSON 处理复杂对象比表单提交更容易。此外,带有子对象和属性的输入值/字段可能非常糟糕。拥有这种语法对我来说听起来不太好......
3 可能可以工作,但在我的拙见中,spring 数据绑定使用 sub 属性完成的方式缺乏一些细节(第 7.4.1 节 - http://docs.spring.io/spring/docs/current/spring-framework-reference /html/validation.html)。
你怎么认为 ?
我个人使用 Thymeleaf 自己的动态字段管理来确保对象和字段的干净添加到对象。
所以我会推荐选项 4:Thymeleaf 的动态字段管理。
阅读http://www.thymeleaf.org/doc/tutorials/2.1/thymeleafspring.html#dynamic-fields。
我将它用于单个字段添加以及嵌套表单的添加。不问任何问题的伎俩。
希望有帮助。
| 归档时间: |
|
| 查看次数: |
6227 次 |
| 最近记录: |