Java Spring阻止表单标记的自动id

Java Spring阻止表单标记的自动id,java,spring,jquery-ui,jsp,Java,Spring,Jquery Ui,Jsp,我在我的webapp中使用spring表单标签。现在我看到spring为所有输入自动生成ID,选择元素。 我在单独的选项卡中有几个表单,这些表单可能有同名的输入,例如,中的user_类别。Spring使用输入元素的名称作为标记的id。这就成了一个问题,因为我在同一页的不同形式中有几个输入具有相同的名称。我最终得到了多个具有相同id的选择元素。当我使用插件装饰我的选择框时,问题变得更糟。如果同一页面上有多个具有相同id的选择器,则更改其中一个选择器上的选择会影响另一个选择器 我发现的一个解决方法是

我在我的webapp中使用spring表单标签。现在我看到spring为所有输入自动生成ID,选择元素。 我在单独的选项卡中有几个表单,这些表单可能有同名的输入,例如,中的user_类别。Spring使用输入元素的名称作为标记的id。这就成了一个问题,因为我在同一页的不同形式中有几个输入具有相同的名称。我最终得到了多个具有相同id的选择元素。当我使用插件装饰我的选择框时,问题变得更糟。如果同一页面上有多个具有相同id的选择器,则更改其中一个选择器上的选择会影响另一个选择器

我发现的一个解决方法是显式地为我的所有选择框提供唯一ID。但我认为一个更干净的方法是防止spring在表单标签上生成id。有办法吗?

Spring标签允许您指定id属性,例如:

<form:select id="select1"...>

因此,您可以指定自己的id。

看来,至少在Spring 4.1.4中,只有一种简单而明显的方法可以防止写入id属性,那就是设置一个空id:

<form:input id="" .../>

然后AbstractDataBoundFormElementTagresolveId将返回null,AbstractFormTagWriteOptions属性将跳过它。

谢谢。是的,这就是我提到的解决方法,明确地给出我所有的选择框的唯一ID。我想在spring中禁用自动ID,而不给出10个唯一的ID。我们能做到吗?