簡體   English   中英

Spring-mvc + Thymeleaf:處理復雜的形式

[英]Spring-mvc + Thymeleaf: dealing with complex form

我正在使用spring-mvc和thymeleaf開發內部工具。

此工具的一部分用於創建我們保存在數據庫中的實體。 這個實體非常復雜; 它包含許多屬性和關系。 其中一些關系包含列表和其他屬性。

我有2個約束:

  1. 單頁。 沒有“巫師”。
  2. 僅在數據庫中保存已完成的對象。

現在,我並沒有真正要求具體問題。 我知道我的方式繞着百里香,春天@ModelAttribute等。

我的問題主要是你選擇哪種策略或如何處理真正復雜的對象創建。

現在我可以看到3種方法:

  1. 用百里香葉渲染頁面。 每次需要將新元素添加到列表中時,我都使用Ajax在服務器上添加新元素並重新呈現特定片段。 所以用我的@ModelAttribute在服務器上來回做,最后只保存。

  2. 使用thymeleaf渲染基本頁面。 使用JavaScript創建html元素而不是提交給@ModelAttribute,我將我的表單序列化為JSON並將此JSON提交給服務器。 (客戶端模型的種類)

  3. 使用thymeleaf渲染基本頁面。 當我需要添加列表項時(確保我使用正確的名稱=“”來適應我的Java表單對象)並使用JavaScript動態創建html元素並在最后提交整個事物。

我個人不確定在1或2之間。我覺得使用JSON比使用表單提交更容易處理復雜對象。 此外,具有子對象和屬性的輸入值/字段可能非常討厭。 擁有這種語法對我來說聽起來不太好......

3可能可以工作,但彈簧數據綁定與子屬性完成的方式在我的拙見中缺乏一些細節(第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

我將它用於單個字段添加以及添加嵌套表單。 訣竅沒問題。

希望有所幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM