通过HTML格式的javascript发送HashMap键

通过HTML格式的javascript发送HashMap键,javascript,jquery,html,forms,thymeleaf,Javascript,Jquery,Html,Forms,Thymeleaf,我是新手,有一件棘手的事情要解决。 我正在使用MVC模式,在后端使用HTML/Thymeleaf和Java。 我创建了一个简单的表单,它可以动态地从地图中添加和删除项目。这些操作本身是在后端进行的。当您想要添加或删除项时,您只需使用javascript,它使用标志situationCreateSubmit=false提交表单。 正在通过表单的模型如下所示: public class SituationRequestModel { @Valid private SituationM

我是新手,有一件棘手的事情要解决。 我正在使用MVC模式,在后端使用HTML/ThymeleafJava
我创建了一个简单的表单,它可以动态地从地图中添加和删除项目。这些操作本身是在后端进行的。当您想要添加或删除项时,您只需使用javascript,它使用标志
situationCreateSubmit=false
提交表单。 正在通过表单的模型如下所示:

public class SituationRequestModel {
    @Valid
    private SituationModel situation;
    private Boolean situationCreateSubmit=true;
    private Long addInstitutionId;
    private Long removeInstitutionId;
    private Long templateDocumentId;
    private String fileName;
    private byte[] templateDocument;
}
因此,在后端,首先,
situationCreateSubmit
字段检查此表单是否要保存到数据库。如果为false,则在地图上添加/删除项目并返回HTML页面。地图本身是情景模型的字段

我设法将项目添加到地图中,但在删除项目时遇到问题。 我想在一个表中有一个简单的行,它的值来自map和link/botton REMOVE,以删除这一行。

我想创建jQuery函数,在删除字段上使用类似“onclick”的功能,将地图的这一特定键分配给
removeInstitutionId
,将
situationCreateSubmit
设置为false,并将其与post类似的简单提交发送给控制器

在HTML格式中,我使用
foreach
循环遍历映射:

<table class="table table-dark">
     <tbody>
        <tr class="col-12 item-dark" th:each="institution,iter :*{situation.institutions}">
        <td th:text="${institution.value.name}"></td>
        <td><a id="removeinstitution" class="nav-link active"  th:field="${institution.key}" >Remove</a>
        </tr>
     </tbody>
</table>
我知道它无法工作,但我不知道如何将map键传递给JS并将其设置为
removeInstitutionId
字段。我知道,在Thymeleaf中,我们可以使用类似于
\u institution.key\u
的东西动态地生成特定的值,但我不知道该怎么做。

信息 我不想改变工作方式->使用前端的地图进行操作。我希望在后端有映射操作逻辑。

提前感谢您的帮助。

我已经解决了我的问题。
使用thymeleaf,我们可以为表中的每一行生成dynamicaliid。在我的例子中,我将HashMap键作为id值:

<table class="table table-light mt-1">
    <tbody>
    <tr class="col-auto table-active" th:each="institution,iter:*{situation.institutions}">
    <td th:text="${institution.value.name}"></td>
    <td><a th:id="${institution.key}" href="#" class="col-auto remove-institutioncss">Remove</a>
    </td>
    </tbody>
</table>
这允许我:
1) 将HashMap键(表id)分配给对象变量
RemoveInstructionID

2) 将
situationCreateSubmit
标志设置为false-表单尚未准备好保存的后端信息。
3) 提交表格。

提醒:我为什么要这样做
1) 我想在后端进行完全的HashMap操作 2) 我对HTML/Thymeleaf是新手
希望它能帮助任何人。
问候

<table class="table table-light mt-1">
    <tbody>
    <tr class="col-auto table-active" th:each="institution,iter:*{situation.institutions}">
    <td th:text="${institution.value.name}"></td>
    <td><a th:id="${institution.key}" href="#" class="col-auto remove-institutioncss">Remove</a>
    </td>
    </tbody>
</table>
$( ".remove-institution-css" ).click(function() {
  $("#removeInstitutionId").val($(this).attr("id"));
  $("#situationCreateSubmit").val(false);
  $( "#situation-create" ).submit();
});